我有点0,0,0 我围绕Y轴旋转30度,然后围绕X轴旋转30度。 然后我想向前移动10个单位。
我知道如何计算新的X和Y位置
MovementX = cos(angle) * MoveDistance;
MovementY = sin(angle) * MoveDistance;
但后来我意识到这些值会因为Z而改变,不会吗?
我如何计算Z并且我正确地计算出X和Y?
谢谢!
答案 0 :(得分:2)
您应该将点坐标乘以完整旋转矩阵,即matRotationTotal = matRotationX * matRotationY * matRotationZ
。查看this文章了解详情。