4

我正在尝试将欧拉旋转顺序从现有的 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 )

4

2 回答 2

2

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

于 2011-07-21T04:42:58.067 回答
1

在您的特定情况下,有一种简单的方法可以做到这一点。那是因为您正在更改 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]

等等。

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

于 2013-01-31T15:34:06.643 回答