Учитывая следующие определения для матриц поворота 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?