如何使用javascript将euler xyz转换为euler zxy

时间:2011-07-21 03:05:27

标签: javascript euler-angles

我正在尝试将euler旋转顺序从现有的xyz转换为zxy。有人可以帮我这么做吗?感谢。

编辑:我发现这篇非常有用的文章,认为它可以帮助其他人走同一条道路 - http://knol.google.com/k/matrices-for-3d-applications-translation-rotation#Rotation_matrices_for_Euler_angles(C2)(A0)_(28)rotation_round_X(2C)Y_and_Z_axis(29

2 个答案:

答案 0 :(得分:1)

请参阅此链接:http://en.wikipedia.org/wiki/Euler_angles#Matrix_orientation。从xyz到zxy矩阵制作9个方程并求解它们。

答案 1 :(得分:0)

在您的特定情况下,有一种简单的方法可以做到这一点。这是因为你正在改变x-> z,y-> x和z-> y,所以以圆形的方式保持轴的右手顺序。所以如果矩阵是:

m[0] m[3] m[6]
m[1] m[4] m[7]
m[2] m[5] m[8]

你必须旋转列,以便第3个成为第1个,

m[6] m[0] m[3]
m[7] m[1] m[4]
m[8] m[2] m[5]

并在交换行中的坐标后:

m[8] m[2] m[5]
m[6] m[0] m[3]
m[7] m[1] m[4]

所以对应关系在第一和第三矩阵之间,例如:

m[0] --> m[8]
m[4] --> m[0]
m[8] --> m[4]

等等。

替换公式中的矩阵元素,这就是全部,伙计们!