Трехмерные преобразования

Рассмотрим трехмерную декартовую систему координат, являющуюся правосторонней. Примем соглашение, в соответствии с которым будем считать положительными такие повороты, при которых (если смотреть с конца полуоси в направлении начала координат) поворот на 90° против часовой стрелки будет переводить одну полуось в другую. На основе этого соглашения строится следующая таблица, которую можно использовать как для правых, так и для левых систем координат:

 

Если ось вращения Положительным будет направление поворота
X От y к z
Y От z к x
Z От x к y

 

Рис. 6.6. Трехмерная система координат

Аналогично тому, как точка на плоскости описывается вектором (x,y), точка в трехмерном пространстве описывается вектором (x,y,z).

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

 

[x,y,x,1] или [X,Y,Z,H]

[x*,y*,z*1] = [ ], где Н¹1, Н ¹0.

Обобщенная матрица преобразования 4´4 для трехмерных однородных координат имеет вид

Т=

Эта матрица может быть представлена в виде четырех отдельных частей:

.

 

· Матрица 3´3 осуществляет линейное[5] преобразование в виде изменения масштаба, сдвига и вращения.

· Матрица 1´3 производит перенос.

· Матрица 3´1- преобразования в перспективе.

· Скалярный элемент 1´1 выполняет общее изменение масштаба.

Рассмотрим воздействие матрицы 4´4 на однородный вектор [x,y,z,1]:

 

1. Трехмерный перенос – является простым расширением двумерного:

T(Dx,Dy,Dz)= ,

 

т. е. [x,y,z,1]*T(Dx,Dy,Dz)=[x+Dx,y+Dy,z+Dz,1].