0

我在 0,0,0 有一个点,我将点绕 Y 轴旋转 30 度,然后绕 X 轴旋转 30 度。然后我想将点向前移动 10 个单位。

我知道如何计算出新的 X 和 Y 位置

MovementX = cos(angle) * MoveDistance;
MovementY = sin(angle) * MoveDistance;

但后来我意识到这些值会因为 Z 而改变,不是吗?

我如何计算出 Z 并正确计算出 X 和 Y?

谢谢!

4

1 回答 1

2

您应该将点坐标乘以完整的旋转矩阵,即matRotationTotal = matRotationX * matRotationY * matRotationZ. 查看这篇文章了解详情。

于 2009-10-07T11:37:13.320 回答