Аффинные преобразования в пространстве.
Рассмотрим вид формул аффинного преобразования для пространственного представления точки (случай 3D графики). В этом случае по аналогии с двухмерным представлением трехмерное позиционирование точки координатами x, y, z представим в однородном описании x, y, z, 1. То есть, каждая точка пространства (кроме 0) может быть задана четверкой одновременно не равных нулю чисел и эта четверка чисел однозначно определяет положение точки в пространстве с точностью до постоянного множителя. Подобное представление дает возможность, используя матричное представление решать сложные трехмерные задачи.
Любое аффинное преобразование в трехмерном пространстве может быть представлено суперпозицией матриц вращения, масштабирования и переноса[1]. Полезно рассмотреть их представление в матричном виде, порядок которых равен четырем.
Трехмерный перенос представляется матрицей вида
, то
есть .
Масштабирование можно записать аналогичным образом
, поскольку
Матрица поворота, записанная для двухмерного случая, является поворотом вокруг оси z
.
Матрица поворота вокруг оси x записывается в виде:
.
Матрица поворота, относительно оси z имеет вид:
Замечание. Вращение в пространстве не коммутативно, поэтому порядок в котором осуществляется вращение является весьма существенным.
Интересно рассмотреть вид матриц отражения относительно трех плоскостей XOY, XOZ, Y0Z.
В первом случае матрица отражения имеет вид
Отражение относительно плоскости YOZ описывается матрицей
Для плоскости XOZ преобразование отражения представлено в виде
Применяя метод компиляции можно перемножать произвольное число матриц поворота, масштабирования и переноса в трехмерном пространстве XYZ и проецировать результирующую матрицу на плоскость проекции для получения графического изображения Результат всегда будет сводиться к матрице вида [Фоли]:
,
где A, B, C, D, E, G, H, I – параметры поворотов векторов положения всех точек изображения относительно осей X, Y, Z на соответствующие углы; Sx, Sy, Sz - параметры масштабирования по соответствующим осям; tx , ty , tz параметры переноса всех точек объекта на соответствующее смещение вдоль координатных осей.
Проектирование изображения в общем случае можно представить в виде двух процессов: проектирование на плоскости и проектирование в пространстве.
[1] Поскольку отражение есть частный случай поворота, матрица отражения здесь отдельно не упоминается.