我偶然发现了一个快速旋转的工作概念。今天的方向系统,基于一个两项四元数,表示以 w + ix 形式绕X轴(1,0,0)的旋转,一个旋转关于Y轴(0,1,0)的形式 w + jy ,或绕Z轴(0,0,1)的形式< em> w + kz 。
它们与复数相似,但是a)像所有四元数一样是半角和双面的(它们只是四元数,其中三个虚构项中的两个被归零),和b )表示围绕三个3D轴之一的旋转具体。
我的问题和疑问是......我无法在网上找到任何此类系统的代表,也不知道要搜索什么。这些复杂的数字叫什么?之前还有谁做过这样的事情?我在哪里可以找到关于我要走的路的更多信息?看起来好得令人难以置信,我希望在它落到我身上之前找到另一只鞋。
我制定的实例(Tait-Bryan角度的方向四元数):
ZQuat Y, YQuat P, XQuat R; // yaw, pitch, roll
float w = Y.W * P.W;
float x = -Y.Z * P.Y;
float y = Y.W * P.Y;
float z = Y.Z * P.W;
Quaternion O; // orientation
O.W = x * R.W + w * R.X;
O.X = y * R.W + z * R.X;
O.Y = z * R.W - y * R.X;
O.Z = w * R.W - x * R.X;
答案 0 :(得分:0)
2D中的四元数将退化为仅与旋转角度不同的单个分量。这可能是你没有找到任何东西的原因。使用四元数,你做f.e.没有万向节锁的问题,当两个旋转轴因旋转顺序对齐时出现。在普通的2D空间中,您没有多个旋转轴,因此它既没有顺序(如何对单个元素进行排序),也没有对齐的轴。 2D中缺少旋转轴是因为在垂直于另外两个轴时获得旋转轴。
这为3D提供了3个轴:
X&Y=>Z X&Z=>Y Y&Z=>X
但2D只有一个:
X&Y=>Z