快速sin()和cos()的实现
来源:互联网 发布:淘宝硬广 编辑:程序博客网 时间:2024/05/16 20:31
/* the table of sin() array from 0 to 45*/
short sin_table[] = {
,0
,175
,349
,523
,698
,872
,1045
,1219
,1392
,1564
,1736
,1908
,2079
,2250
,2419
,2588
,2756
,2924
,3090
,3256
,3420
,3584
,3746
,3907
,4067
,4226
,4384
,4540
,4695
,4848
,5000
,5150
,5299
,5446
,5592
,5736
,5878
,6018
,6157
,6293
,6428
,6561
,6691
,6820
,6947
,7071
};
/* the table of cos() array from 0 to 45*/
short cos_table[] = {
,10000
,9998
,9994
,9986
,9976
,9962
,9945
,9925
,9903
,9877
,9848
,9816
,9781
,9744
,9703
,9659
,9613
,9563
,9511
,9455
,9397
,9336
,9272
,9205
,9135
,9063
,8988
,8910
,8829
,8746
,8660
,8572
,8480
,8387
,8290
,8192
,8090
,7986
,7880
,7771
,7660
,7547
,7431
,7314
,7193
,7071
};
/* get the value of 10000 times of sin() */
short sin_q(unsigned short Angle)
{
if(Angle<=45) return sin_table[Angle];
else if(Angle>45&&Angle<=90) return cos_table[90-Angle];
else if(Angle>90&&Angle<=135) return cos_table[Angle-90];
else if(Angle>135&&Angle<=180) return sin_table[180-Angle];
else if(Angle>180&&Angle<=225) return -sin_table[Angle-180];
else if(Angle>225&&Angle<=270) return -cos_table[270-Angle];
else if(Angle>270&&Angle<=315) return -cos_table[Angle-270];
else if(Angle>315&&Angle<=360) return -sin_table[360-Angle];
return 0;
}
/* get the value of 10000 times of sin() */
short cos_q(unsigned short Angle)
{
if(Angle<=45) return cos_table[Angle];
else if(Angle>45&&Angle<=90) return sin_table[90-Angle];
else if(Angle>90&&Angle<=135) return -sin_table[Angle-90];
else if(Angle>135&&Angle<=180) return -cos_table[180-Angle];
else if(Angle>180&&Angle<=225) return -cos_table[Angle-180];
else if(Angle>225&&Angle<=270) return -sin_table[270-Angle];
else if(Angle>270&&Angle<=315) return sin_table[Angle-270];
else if(Angle>315&&Angle<=360) return cos_table[360-Angle];
return 0;
}
/*注意函数把结果放大了10000倍,函数虽然简单,因为消除了浮点计算,在需要频繁使用sin和cos,
但对精度要求不是太高时可以表现的很高效。曾利用上函数在一个没有图形函数的平台上实现画图功能,
达到了理想效果*/
- 快速sin()和cos()的实现
- 三角函数sin和cos的实现
- sin和cos的爱恋
- cos和sin的使用
- 快速sin 和 cos 函数计算
- C语言sin和cos函数的实现
- 快速sin cos
- sin和cos的泰勒展开式
- cos和sin的傅立叶变换
- 一种简单,快速,精准的sin/cos函数模拟,及as3实现
- 一种简单,快速,精准的sin/cos函数模拟,及as3实现
- 一种简单,快速,精准的sin/cos函数模拟,及as3实现
- 一種簡單,快速,精准的sin/cos函數模擬,及as3實現
- 使用纯java基本语言实现泰勒展开的sin和cos计算
- C语言实现cordic算法求sin和cos值
- Java实现动态sin和cos函数图像
- 学习:实现任意角度的sin、cos求值-No.1
- 学习:实现任意角度的sin、cos求值-No.2
- 【转】不同浏览器CSS解析小结
- Ubuntu 9.04安装arm-linux-gcc交叉编译工具
- 限制得到的条数
- new和override
- SSH框架整合
- 快速sin()和cos()的实现
- 选择排序法
- 写书评、获好礼! 书评有奖征集活动!
- 获得DISK的DeviceObject
- c++中的隐藏与java、c#的区别
- Jabber 协议 概述
- 未婚OL:困在事业与家庭的翘翘板
- 学好ASP编程必会的代码
- 揭开正则表达式的神秘面纱