Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Двумерное вращение вокруг произвольной оси

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

 

.

 

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

 

 

Предположим, что центр изображения имеет координаты (4, 3) и желательно повернуть изображение на 90° против часовой стрелки вокруг центральной его оси. Действие, выполненное с помощью матрицы

 

,

 

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

 

.

 

Затем следует применить матрицу вращения и, наконец, привести результаты к началу координат посредством обратной матрицы. Вся операция

 

 

может быть объединена в одну матричную операцию путем вы­полнения матричных преобразований вида

 

.

 

В результате будет получено х* =Х/Н и у* = Y/H. Двумерные вращения около каждой оси ортогональной системы представ­лены на рис. 3.5.

 

 

Рис. 3.5. Вращение: a — вокруг оси х; б вокруг оси y; в вокруг оси z

 

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

 

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

 

 

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

 

 

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

 

Аналогично тому, как точка на плоскости описывается вектором (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 выполняет общее изменение масштаба.

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

 

т. е. [ 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 является матрица

 

A =

 

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

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

 

[1] Линейное преобразование трансформирует исходную линейную комбинацию векторов в некоторую линейную их комбинацию.

 

sin2φ=sin2θ/(1- sin2θ) и sin2φ=(1-2sin2θ)/(1- sin2θ).

 

Таким образом,

φ = 35,26439°;

θ = 45°.

 

Рассмотрим теперь косоугольную проекцию (рис. 3.17.), матрица может быть записана исходя из значений a и l.

Проекцией точки P (0,0,1) является точка P ¢(l cosa, l sina, 0), принадлежащая плоскости xy. Направление проецирования совпадает с отрезком РР ¢, проходящим через две эти точки. Это направление есть Р¢-Р = (l cosa, l sina, -1). Направление проецирования составляет угол b с плоскостью xy.

 

Теперь рассмотрим проекцию точки x, y, z и определим ее косоугольную проекцию (xp yp) на плоскости xy:

 

xp = x + z(l cosa);

yp = y + z(l sina).

 

Таким образом, матрица 4´4, которая выполняет эти действия и, следовательно, описывает косоугольную проекцию, имеет вид

 

М кос= .

 

Рис. 3.17. Вычисление косоугольных проекций

 

Применение матрицы М кос приводит к сдвигу и последующему проецированию объекта: плоскости с постоянной координатой z = z 1 переносятся в направлении x на z 1 l cosa и в направлении y на z 1 l sin a и затем проецируется на плоскость z = 0. Сдвиг сохраняет параллельность прямых, а также углы и расстояния в плоскостях, параллельных оси z.

 

Для проекции Кавалье l = 1, поэтому угол b= 45°. Для проекции Кабине l =½, а b = arctg(2) = 63,4°. В случае ортографической проекции l = 0 и b = 90°, поэтому матрица ортографического проецирования является частным случаем косоугольной проекции.

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...