首先,我刚开始研究旋转,四元数和矩阵,所以请原谅我已经误解了一些我现在误解的部分。
情况:
OSX SceneKit应用程序。
我有一个3D空间,X +右,Y +前进,Z +上。
在这个空间里面我有一个磁盘:
在这个弧的中心,我做了一些控制,我可以在所有3个轴上设置旋转到磁盘。间距(Y轴),滚动(X轴)偏航(Z轴)。我想要实现的是,无论这个盘的当前角度是什么,当我使用Pitch控制器调整角度时,我希望它不是在它的本地主体框架中旋转,而是在主要的'帧。控制器不随其旋转,并保持平稳在主体中。框架也是如此。
当我滚动磁盘90deg时,更多细节。我将Pitch应用于它,我不希望它在当地的身体框架中倾斜,但实际上YAW在其局部的身体框架中。
所以我实际上正在寻找的是一种旋转我的输入调整的方法。以某种方式,磁盘旋转就像我上面描述的那样。 我知道如何旋转矢量,但我仍然坚持如何处理滚动,俯仰,偏航方向旋转。
任何帮助将不胜感激!
汤姆
答案 0 :(得分:0)
你连续三次轮换。组合旋转矩阵
E = R_Z(yaw)*R_X(pitch)*R_Y(roll)
其中R_X()
,R_Y()
和R_Z()
以及元素3×3运动矩阵中的每一个。有关每个组件的组件,请参阅Basic Rotations (wikipedia)。