Аффинные преобразования в пространстве.

Рассмотрим вид формул аффинного преобразования для пространственного представления точки (случай 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] Поскольку отражение есть частный случай поворота, матрица отражения здесь отдельно не упоминается.

Наши рекомендации