[原创]正弦和反正弦函数
记得曾经有人提出过这个问题——如何模拟正弦函数。
我试着编了一个正弦和反正弦的函数。
算法:二分搜索,有些像搜索算法里的二分法,算试一种推广吧,我在单位圆里面对单位圆上的 坐标进行二分搜索,直到找到匹配的坐标为止;
——经过测试,和标准数学函数的正弦函数误差 几乎为0,
由于水平有限,让大家见笑了。
下面贴出代码(有注释,如果不懂,请提出来):
/*正弦和反正弦函数*/
/*为了和标准数学函数区别,正弦函数为sinof()反正弦函数为arcsin()*/
#include
typedef struct num{double x;double y;}num;
num *midof(num *a,num *b) /*求角平分线于单位圆的交点*/
{double x1,y1,z; num *mid=(num*)malloc(sizeof(num));
x1=(a->x+b->x)/2;
y1=(a->y+b->y)/2;
z=sqrt(100000000/(x1*x1+y1*y1));
mid->x=z*x1;
mid->y=z*y1;
return mid;}</