logo search
Шпоры по ТМ

Матричные операции.

В однородных координатах точка представляется четырехмерным вектором [ x y z w ], где w =1, а матрицы преобразований имеют размер 4×4. Точка в пространстве определяется вектором а с учетом однородных координат - (X,Y,Z,H) или (X*,Y*,Z*,1).

Преобразование в однородных координатах:

[ xn yn zn wn ]= [ x y z w ]·T.


Обобщенная матрица преобразования для трехмерного случая имеет вид:

Эта матрица состоит из четырех частей:

Матрица 3*3 меняет масштаб, осуществляет сдвиг и вращение изображения, 1*3 – перенос, 3*1 – преобразование в перспективе, 1*1 – общее изменение масштаба.

Изменение масштаба:

(X,Y,Z,1)* = (AX, EY, JZ, 1).

Сдвиг: (X,Y,Z,1)* =(X+YD+HZ, BX+Y+IZ,CX+FY+Z,1).

Вращение:

где T – вращение относительно указанной оси.

Пространственный перенос: (X,Y,Z,1)* = (X+L, Y+M, Z+N, 1).

Проецирование:

Комбинированные вращения, которые следуют за проецированием из центра, лежащего в бесконечности, являются основой для получения аксонометрических проекций всех типов. Для наиболее распространенных типов аксонометрических проекций - изометрии и диметрии - углы поворота имеют следующие значения:

az =-450, bx=350; gy=-200; dx=200.

Для построения косоугольных проекций пользуются различными вариантами сдвига.

Для получения псевдореального изображения в центральной проекции оси координат следует расположить следующим образом. Начало координат расположить в левом нижнем углу. Ось X направить направо, ось Y наверх, ось Z вглубь экрана, от наблюдателя.

Расстояние до экрана обозначить через z0<0, (x,y,z) – координаты объекта в пространстве, (X,Y) – на экране. Тогда матрица преобразования имеет вид:

(x,y,z,1)* = (X*,Y*,0,H)

Т.к. величина H должна быть равна 1, то последний вектор надо разделить на H.