- UID
- 9
- 好友
注册时间2007-3-31
威望值 点
最后登录1970-1-1
激情值 点
积分7187
认证分 分
齿轮币 枚
回帖0
|

楼主 |
发表于 2008-6-28 08:55
|
显示全部楼层
关于渐开线函数和反渐开线函数在齿轮计算过程中经常用到,在网上找了一下,看到不少的计算工具。在这里,我用Delphi变了一个小计算器。下面,我把这两个函数的原代码发布出来,供大家参考一下。
function INV(x:Double):Double ; //自定义全局函数:渐开线函数
begin
INV:=tan(x)-x;
end;
function ArcInv(x:double):double; //自定义全局函数:反渐开线函数
const
MaxError=0.0000000001;
MaxCount=100000;
var
x1,x2,Error:double;
num:integer;
begin
x1:=3*x;
x1:=exp(ln(x1)/3); //x=(3x)^(1/3)
error:=1; //maximum of error
num:=0; //counter of iterative
while (Error>MaxError) and (num<MaxCount) do
begin
x2:=arccos(sin(x1)/(x+x1));
Error:=abs(x2-x1);
inc(num);
x1:=x2;
end;
Result:=x1;
end;
用这两个自定义函数可以实现渐开线和反渐开线函数的计算,我自己参考niuershiye版主的渐开线函数计算器自己写了一个,给大家参考一下。
[ 本帖最后由 mrmrw 于 2008-6-30 12:00 编辑 ] |
-
niuershiye版主的
-
我和niuershiye的连个对比
|