我的游戏需要移动一定的角度。为此,我通过 sin 和 cos 获得角度向量。不幸的是,正弦和余弦是我的瓶颈。我确信我不需要这么精确。是否有替代 C sin & cos 和查找表的方法,既相当精确,又非常快?
我发现了这个:
float Skeleton::fastSin( float x )
{
const float B = 4.0f/pi;
const float C = -4.0f/(pi*pi);
float y = B * x + C * x * abs(x);
const float P = 0.225f;
return P * (y * abs(y) - y) + y;
}
不幸的是,这似乎不起作用。当我使用这个 sin 而不是 C sin 时,我会得到明显不同的行为。
Thanks
查找表是标准解决方案。您还可以使用两个查找表来查找度数,一个查找表来查找十分之一度数,并使用 sin(A + B) = sin(a)cos(b) + cos(A)sin(b)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)