WAP之家:为您提供最全最新的WAP技术,CP.SP.3G等行业资讯。 WAP之家交流论坛全新开放 点击进入>>
WAP资讯 | 3G动态 | SP动态 | 运营商动态 | 内容商动态 | 制造商动态 | 论坛讨论>> 每次自动访问
WAP技术 | WAP源码 | 手机编程 | 手机源码 | 无线技术 | J2ME技术 | 手机软件 添加到收藏夹
IVR技术 | SP资料 | SMS MMS技术 | 商业方案 | IVR下载 | 书籍教程 | 工具软件 语言:繁體中文

WAP之家技术文章J2ME技术进阶教程正弦值的两种算法比较

正弦值的两种算法比较
作者:daojianxiao  来源:转载  发布时间:2005-10-15 1:34:33

游戏中经常会用到三角函数值,但由于J2me不支持浮点数,所以通常是将其值放大后再进行模拟,以下给出我的算法:

/*任意角度的正弦值(扩大10000倍)*/
public long sin(int x,int path)
{
if(path==0)//级数算法
{
int goal=0;
goal=(1000*x)/6-(10*x*x*x)/(36*36);
if(x<=60)
return goal;
else if(x<=70)
return goal+x*x*x*x/155520;
else if(x<=80)
return goal+x*x*x*x/116640;
else
return goal+x*x*x*x/103680;
}
else//三角模拟算法
{
if(x==0)
return 0;
else
{
int goal=175;
for(int i=0;i {
goal=(goal*9998+sqrt(100000000-goal*goal)*175)/10000;
}
return goal;
}
}
}
/*任意整数的平方根*/
public int sqrt(long a)
{
int goal=0;
for(long i=0;i
{
if((i*i)<=a&&((i+1)*(i+1))>a)
{
goal=(int)i;
break;
}
}
return goal;
}

用此算法计算了从55度到65度的正弦值,结果如图:

从图中结果可以看出,级数模拟算法的优点是速度快,但缺点是误差大,而三角模拟算法则反之,实际应用中可以视具体情况选用.

[] [返回上一页] [打 印]
文章评论

用户名: 查看更多评论

分 值:100分 85分 70分 55分 40分 25分 10分 0分

内 容:

         (注“”为必填内容。) 验证码: 验证码,看不清楚?请点击刷新验证码