Как представить поворот матрицы 4x4?

Учитывая следующие определения для матриц поворота x, y, z, как мне представить это как одну полную матрицу? Просто умножьте x, y, & матрицы ?

Вращение по оси X:

[1 0 0 0]
[0 cos(-X Angle) -sin(-X Angle) 0]
[0 sin(-X Angle) cos(-X Angle) 0]
[0 0 0 1]

Вращение по оси Y:

[cos(-Y Angle) 0 sin(-Y Angle) 0]
[0 1 0 0]
[-sin(-Y Angle) 0 cos(-Y Angle) 0]
[0 0 0 1]

Вращение по оси Z:

[cos(-Z Angle) -sin(-Z Angle) 0 0]
[sin(-Z Angle) cos(-Z Angle) 0 0]
[0 0 1 0]
[0 0 0 1] 

Редактировать: У меня есть отдельный класс поворота, который содержит значения с плавающей запятой x, y, z, которые я позже конвертирую в матрица для объединения с другими переводами / масштабами / поворотами.

Судя по ответам здесь, я могу предположить, что если я сделаю что-то вроде:

Поворот вращения; вращение.SetX (45); вращение.SetY (90); Rotation.SetZ (180);

Тогда действительно важно, в каком порядке применяются вращения? Или можно с уверенностью предположить, что при использовании класса поворота вы соглашаетесь, что они применяются в порядке x, y, z?

10
задан Mark Ingram 21 October 2010 в 08:07
поделиться