1

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

考虑一个物体以给定的速度沿 z 轴移动。(例如:-0.2 opengl 单位)现在我用 rotationX 、 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);

我的错误在哪里?

4

1 回答 1

0

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

旋转时,旋转方向矢量。

搬家时,

positionX += SPEED * orientation.X
positionY += SPEED * orientation.Y
etc.
于 2012-06-25T17:52:29.710 回答