Ремонт принтеров, сканнеров, факсов и остальной офисной техники


назад Оглавление вперед




[10]

S(sx,Sy)• S(s x,S y)-

Sx

0

0

Sy

0

0

oTs

0 0

00

S \ 0 0 1

Sx S

0

0

0 Sy • S y 0

0

x

x

Для операции поворота матричный вид будет такой:

Г Cosa Sina 0l

х, y ,1 - [x, y,l]

Определим матрицу поворота R(a) -

Sina Cosa 0 00 1

Г Cosa Sina - Sina Cosa

00

01

0 1

Аналогично двум предыдущим случаям, покажем, поворота остается таковой при последовательных поворотах.

Г Cosa Sina 0Т Cos в Sin в

Sine Cose

00

что матрица

01

0 1

R(a)R(e)- - Sina Cosa 0 00 1

Г Cos(a + в) Sin(a + в) 0 - Sin(a + в) Cos(a + в) 0 001

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

Рассмотрим, каким образом с помощью композиции матричных преобразований можно получить одно общее результирующее преобразование. Для этого будем использовать матрицы T,S и R. С вычислительной точки зрения гораздо проще и быстрее применять матрицу уже готового преобразования вместо того, чтобы применять их


последовательно одну за другой. К точке более эффективно применять одно результирующее преобразование, чем ряд преобразований друг за другом.

Для примера рассмотрим задачу поворота объекта на плоскости относительно некоторой произвольной точки p0 . Пока мы умеем

поворачивать объекты только вокруг начала координат. Но можно представить эту задачу как последовательность шагов, на каждом из которых будет применяться только элементарная операция: перенос, масштабирование или вращение.

Вот эта последовательность элементарных преобразований (рис. 26):

1.Перенос, при котором точка p0 переходит в начало координат.

2.Поворот на заданный угол.

3.Перенос, при котором точка из начала координат возвращается в первоначальное положение p0 .

Рис. 26. Последовательность преобразований при повороте объекта вокруг точки p 0 = (x 0, y 0) на угол а.

Точка p 0 = (x 0, y 0). Первый перенос производится на вектор [- x0,-y0 ], а обратный перенос - на вектор [x0, y0 ].

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

Подобно тому, как двумерные преобразования описываются матрицами размером 3 x 3, трехмерные преобразования могут быть представлены


матрицами размером 4 х 4. Тогда трехмерная точка (x, y, z) записывается в

однородных координатах как (wx, wy, wz, w), где w ф 0. Для получения

декартовых координат надо первые три однородные координаты разделить на w . Два однородных вектора описывают одну декартову точку в трехмерном пространстве, если H1 - cH2, где c - Const ф 0 и H1, H2 - векторы,

записанные в однородных координатах.

Матрицы преобразований будем записывать в правосторонней системе координат. При этом положительный поворот определяется следующим образом. Если смотреть из положительной части оси вращения (например,

оси z) в направлении начала координат, то поворот на 90o против часовой стрелки будет переводить одну положительную полуось в другую (ось x в y, в соответствии с правилом циклической перестановки).

Заметим, что на практике удобнее применять левостороннюю систему координат, так как в этом случае удобнее интерпретировать тот факт, что точки с большими значениями z находятся дальше от наблюдателя.

Запишем теперь матрицу трехмерного переноса. Аналогично двумерному случаю.

1 0 0 01

0 10 0 0 0 10

Dx Dy Dz 1

T (Dx, Dy, Dz)

при этом

7

[x, y, z,1] T (Dx, Dy, Dz )-[x + Dx, y + Dy, z + Dz ,1]. Операция масштабирования:

i i

[x,y,z,1]• S(Sx,Sy,Sz)-[Sx • x,Sy • y,Sz • z,1j

Перейдем к операции поворота, с ней в трехмерном случае придется разбираться чуть побольше чем в двумерном. Так как при двумерном повороте в плоскости xy координаты z остаются неизменными, то поворот

вокруг оси z записывается так:

S

0

0

01

0

Sy

0

0

0

0

Sz

0

0

0

0

1



[стр.Начало] [стр.1] [стр.2] [стр.3] [стр.4] [стр.5] [стр.6] [стр.7] [стр.8] [стр.9] [стр.10] [стр.11] [стр.12] [стр.13] [стр.14] [стр.15] [стр.16] [стр.17] [стр.18] [стр.19]