具有给定速度的opengl android运动

时间:2012-06-25 13:11:39

标签: android opengl-es

这是一个非常基本的问题,但我无法在任何地方找到完整的答案。

考虑一个物体沿着z轴移动并具有给定的SPEED。 (例如:-0.2 opengl单位) 现在我用旋转X,Y和Z角度围绕局部轴旋转对象。

问题:我的对象的下一个位置是什么?

我使用以下等式(我知道这是错误的,但我无法使它们正确)

    positionX += -SPEED * Math.sin(rotationY * Utils.DEG)* Math.cos(rotationX * Utils.DEG);
    positionY += SPEED * Math.sin(rotationX * Utils.DEG);       
    positionZ += -SPEED * Math.cos(rotationX * Utils.DEG)* Math.cos(rotationY * Utils.DEG);

我的错误在哪里?

1 个答案:

答案 0 :(得分:0)

我会存储一个表示对象方向的矢量。

旋转时,旋转方向矢量。

搬家时,

positionX += SPEED * orientation.X
positionY += SPEED * orientation.Y
etc.