我正在尝试将欧拉旋转顺序从现有的 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 )
我正在尝试将欧拉旋转顺序从现有的 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 )
请参阅此链接:http ://en.wikipedia.org/wiki/Euler_angles#Matrix_orientation 。从 xyz 到 zxy 矩阵制作 9 个方程并求解它们。
在您的特定情况下,有一种简单的方法可以做到这一点。那是因为您正在更改 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]
等等。
替换公式中的矩阵元素,就是这样,伙计们!