常用数学函数

西昌.何雨锋 常用数学函数

//-------------这里的数学函数非TV中的。
1、
fmod(float x,float y);
对浮点数取模。

2、
abs()    求绝对值
fabs()   求float的绝对值

3、已知x,z点,求与0,0点的坐标位置算法:
if(x>0&&z>0)  //1象限
    roty=ATan(z/x)
if(x<0)  //2、3象限
   roty=ATan(z/x)+180
if(x>0&&z<0)  //4象限
   roty=360+ATan(z/x)


4、一个物体左右连续转动的公式为
turn_left:
roty=fmod(get_roty()+360,360)-转动量;
turn_right:
roty=fmod(get_roty()+360,360)+转动量;
这样得到的roty始终为正的,且一直在0~360之间。
但是虽然可以正常转动,但是实际上转动的角度却并不正确。

5、要想得到一个物体正确的转向位置,得用:
jiao_man=fmod(180-roty+360,360);  //这样就可以得到正确的0-360角度,但是这个角度可不能在实际场景中使用,只能用于计算。

6、已知屏幕上A点(x1,z1),B点(x2,z2),那么A点与B点的夹角算法为:
if(x2-x1>0&&z2-z1>0)  //1象限
           jiao_t=math1->ATan((z2-z1)/(x2-x1));
         if(x2-x1<0)  //2、3象限
           jiao_t=math1->ATan((z2-z1)/(x2-x1))+180;
         if(x2-x1>0&&z2-z1<0)  //4象限
           jiao_t=360+math1->ATan((z2-z1)/(x2-x1));
这样算出来的夹角为0-360的正确夹角。

7、已知A点坐标及望向的方向,给定另一个目标点,要求A通过旋转望向目标点,方法为:
jiao_x=fmod(jiao_man-jiao_t+360,360);   //jiao_x为A点所望方向jiao_man与AB点的夹角的角度差的0~360表现角。
 if(jiao_x>=180&&jiao_x<360)
{
       turn_left();
}
if((jiao_x<180&&jiao_x>90)||(jiao_x>=0&&jiao_x<90))
{
       turn_right();
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值