这是一个非常基本的问题,但我无法在任何地方找到完整的答案。
考虑一个物体沿着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);
我的错误在哪里?
答案 0 :(得分:0)
我会存储一个表示对象方向的矢量。
旋转时,旋转方向矢量。
搬家时,
positionX += SPEED * orientation.X
positionY += SPEED * orientation.Y
etc.