|
|
发表于 2009-11-26 08:51:36
|
显示全部楼层
来自: 中国广东深圳
给楼主一份反渐开线函数的C++源代码:: H2 |. g6 l4 O: M6 w$ K1 ^0 c
' s9 d8 u+ l, T, t
//自定义反渐开线函数
6 \7 S" c" o4 Q5 gdouble __fastcall TForm_Inv::ArcInv(double x)
4 e! a- O p- p% s z6 m{* V* G2 M3 @2 p8 _# ?7 t- c* S8 V/ |
const double MaxError=0.0000000001, MaxCount=100000;
" Z" s6 r$ t3 C) M; U ] double x1,x2,Error;8 L" v. o; X7 T E% W3 N
int num;3 E2 ? _* r; X& ?4 ^, S
x1 = 3*x;8 G4 W" P5 B9 x8 l8 Z- n
x1 = exp(log10(x1)/3);. C5 f& ?- b! p% v0 N, d
Error =1;2 Q' L$ x/ O3 Q& [0 i- `# L
num = 0;# B5 o3 H; n1 h T( j( S1 M* E
while ((Error > MaxError) && (num < MaxCount))- `+ ?& H1 V" t' |( t+ r
{
4 O5 I# m9 x9 i& n. E+ Y4 S* H x2 = acos(sin(x1)/(x+x1));. u0 ~4 s3 z( u3 N- U
Error = fabs(x2 -x1);
5 Y* s# j; U& a num++;) b! T+ m" b2 @& Y) w
x1 = x2;
3 X) a9 g4 f) u- S }
3 [# N! @& A3 } return(x1);
6 c" T. g+ _. H) }2 w}9 @' N( f% w" v7 m' y
****************
* Q( A* Y X. @( _程序运行界面参考附图! |
|