Геометрические преобразования в компьютерной графике. Косников Ю.Н. - 26 стр.

UptoLike

Составители: 

Пример 1. Пусть требуется описать поворот точек объекта на угол
θ
вокруг произвольного центра С с координатами x
c
, y
c
.
Применить матрицу поворота RT нельзя, так как она описывает
поворот относительно начала координат, а в задании требуется повернуть
точку вокруг некоторого центра С. Значит, чтобы использовать RT, нужно
сначала разместить начало координат СКН в точке С или, что то же самое,
переместить точку С в начало СКН. При этом точка объекта (x : y : 1)
также изменит свои координаты. Чтобы найти ее координаты после сдвига,
используется матрица TR. Теперь можно описывать поворот точки объекта
с помощью матрицы RT. Однако предварительный сдвиг исказит результат
преобразования поворота. Чтобы этого не произошло, нужно после
поворота выполнить обратный сдвиг (возврат) системы координат, чтобы
точка С вновь заняла свое место. Вместе с ней изменит свои координаты и
повернутая точка объекта. Для нахождения ее новых координат
применяется матрица сдвига с обратными значениями смещений по
координатным осям. Таким образом, поворот объекта (каждой его точки)
вокруг произвольного центра представляется в виде последовательности
следующих действий: сдвиг центра вращения в начало СКН, поворот
объекта на угол
θ
вокруг начала координат и сдвиг центра вращения в
исходное положение. В итоге возникает описание
,
1
010
001
100
0cossin
0sincos
1
010
001
11
CCCC
yxyx
yxyx
=
θθ
θθ
или в «свернутом» виде:
.
21
TRRTTRKK
=
Произведение (суперпозиция) трех матриц частных аффинных
преобразований представляет собой текущую матрицу геометрического
26
Сдвиг Поворот Возврат
                                                                                           26


     Пример 1. Пусть требуется описать поворот точек объекта на угол θ
вокруг произвольного центра С с координатами xc, yc.
     Применить матрицу поворота RT                   нельзя, так как она описывает
поворот относительно начала координат, а в задании требуется повернуть
точку вокруг некоторого центра С. Значит, чтобы использовать RT, нужно
сначала разместить начало координат СКН в точке С или, что то же самое,
переместить точку С в начало СКН. При этом точка объекта (x : y : 1)
также изменит свои координаты. Чтобы найти ее координаты после сдвига,
используется матрица TR. Теперь можно описывать поворот точки объекта
с помощью матрицы RT. Однако предварительный сдвиг исказит результат
преобразования поворота. Чтобы этого не произошло, нужно после
поворота выполнить обратный сдвиг (возврат) системы координат, чтобы
точка С вновь заняла свое место. Вместе с ней изменит свои координаты и
повернутая точка объекта. Для нахождения ее новых координат
применяется матрица сдвига с обратными значениями смещений по
координатным осям. Таким образом, поворот объекта (каждой его точки)
вокруг произвольного центра представляется в виде последовательности
следующих действий: сдвиг центра вращения в начало СКН, поворот
объекта на угол θ вокруг начала координат и сдвиг центра вращения в
исходное положение. В итоге возникает описание
                              1       0     0     cos θ      sin θ     0 1      0    0
       x∗   y∗   1= x   y 1⋅ 0        1     0 ⋅ − sin θ       cos θ    0⋅ 0     1    0,
                            − xC    − yC    1      0           0       1 xC     yC   1

                                   Сдвиг               Поворот             Возврат

или в «свернутом» виде:             K ∗ = K ⋅ TR1 ⋅ RT ⋅ TR2 .

Произведение       (суперпозиция)          трех      матриц           частных        аффинных
преобразований представляет собой текущую матрицу геометрического