Двухмерные преобразования. Вращение вокруг произвольной точки. Комбинированные преобразования.




В общем случае вращение около произвольной точки может быть выпол­нено путем переноса центра вращения в начало координат, поворотом относительно начала координат, а затем переносом точки вращения в исходное положение. Таким образом, поворот вектора положения [ х у 1 ] около точки (т, п) на произволь­ный угол может быть выполнен с помощью преобразования

.

Выполнив две операции умножения матриц, можно записать

 

 

Трехмерные преобразования. Правосторонняя и левосторонняя системы координаты. Обобщенная матрица преобразований 4x4.

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

 

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

 

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

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

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

 

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

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

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

Т =

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

.

 

· Матрица 3´3 осуществляет линейное[1] (Линейное преобразование трансформирует исходную линейную комбинацию векторов в некоторую линейную их комбинацию.) преобразование в виде изменения масштаба, сдвига и вращения.

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

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

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

 

Трехмерные преобразования. Масштаб, перенос, сдвиг, поворот вокруг осей X, Y, Z.

Рассмотрим воздействие матрицы 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].

Трехмерное изменение масштаба

Рассмотрим частичное изменение масштаба. Оно реализуется следующим образом:

S(Sx,Sy,Sz, 1 ) = ,т. е. [ x,y,z, 1] *S(Sx,Sy,Sz)= [ Sx*x,Sy*y,Sz*z, 1].

Общее изменение масштаба получается за счет 4-го диагонального элемента, т. е.

[ x y z 1] * = [ x y z S ] = [ x* y* z* 1] = [ ].

Такой же результат можно получить при равных коэффициентах частичных изменений масштабов. В этом случае матрица преобразования такова:

S = .

Трехмерный сдвиг

Недиагональные элементы матрицы 3´3 осуществляют сдвиг в трех измерениях, т. е.

[ x y z 1]* =[ x+yd+hz, bx+y+iz, cx+fy+z, 1].

Трехмерное вращение

Двухмерный поворот, рассмотренный ранее, является в то же время трехмерным поворотом вокруг оси Z. В трехмерном пространстве поворот вокруг оси Z описывается матрицей

 

Rz ()= .

Матрица поворота вокруг оси X имеет вид

Rx ()= .

Матрица поворота вокруг оси Y имеет вид

 

Ry ()= .

Результатом произвольной последовательности поворотов вокруг осей x, y, z является матрица

А = .

Подматрицу 3´3 называют ортогональной, так как ее столбцы являются взаимно ортогональными единичными векторами.

Матрицы поворота сохраняют длину и углы, а матрицы масштабирования и сдвига нет.

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2019-05-16 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: