Как конвертировать Euler XYZ в Euler Zxy с помощью JavaScript - PullRequest
2 голосов
/ 21 июля 2011

Я пытаюсь преобразовать порядок вращения Эйлера из существующего 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 ]

1 голос
/ 21 июля 2011

См. Эту ссылку: http://en.wikipedia.org/wiki/Euler_angles#Matrix_orientation. Составьте 9 уравнений из матрицы xyz в zxy и решите их.

0 голосов
/ 31 января 2013

В вашем конкретном случае есть простой способ сделать это. это потому, что вы меняете 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]

и так далее.

подставьте матричные элементы в ваши формулы, и все, ребята!

...