Основы компьютерной графики для программистов. Казанцев А.В. - 26 стр.

UptoLike

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

Основы компьютерной графики для программистов 26
____________________________________________________________________________________________________________________
http://www.ksu.ru/persons/9134.ru.html
Двумерные матричные преобразования
Рассмотрим три основных типа преобразований точек, которые часто используются в
приложениях компьютерной графики.
Это операции переноса, масщтаби-
рования и поворота или вращения. В
данном параграфе будем рассмотривать
преобразования координат точек на
плоскости.
На рис. 23 точка
A перенесена в
точку
B . Математически этот перенос
можно описать с помощью вектора
переноса
A
B . Пусть
R
радиус вектор,
соответствующий вектору переноса
A
B .
Тогда переход из точки
A в точку B
будет соответствовать векторной записи
R
A
B
+= . Отсюда получаем, что для
переноса точки в новое положение необходимо добавить к ее координатам некоторые
числа, которые представляют собой координаты вектора переноса:
[
]
yyxx
RARARAB ++=+= ,
Масштабированием объектов называется растяжение объектов вдоль соответствующих
осей координат относительно начала координат. Эта операция применяется к каждой
точке объекта, поэтому можно также говорить о масштабировании точки. При этом,
конечно, речь не идет об изменении размеров самой точки. Масштабирование
достигается умножением координат точек
на некоторые константы. В том случае,
когда эти
константы равны между собой,
масштабирование называется однородным.
На рис. 24 приведен пример однородного
масштабирования треугольника
ABC .
После применения операции однородного
масштабирования с коэффициентом 2 он
переходит в треугольник
'''
CBA. Если
ввести матрицу масштабирования
=
y
x
S
S
S
0
0
, то для точек A и
'
A можно
представить операцию масштабирования
следующим образом:
[][]
=
y
x
S
S
yxyx
0
0
,','
.
Рис. 10. Операция масштабирования .
Рис. 9. Операция переноса или трансляции
точки
A в точку
B
.
Основы компьютерной графики для программистов                                                                        26
____________________________________________________________________________________________________________________




Двумерные матричные преобразования
Рассмотрим три основных типа преобразований точек, которые часто используются в
приложениях компьютерной графики.
Это операции переноса, масщтаби-
рования и поворота или вращения. В
данном параграфе будем рассмотривать
преобразования координат точек на
плоскости.
На рис. 23 точка A перенесена в
точку B . Математически этот перенос
можно описать с помощью вектора
переноса AB . Пусть R радиус вектор,
соответствующий вектору переноса AB .
Тогда переход из точки A в точку B                                    Рис. 9. Операция переноса или трансляции
будет соответствовать векторной записи                                           точки A в точку B .

B = A + R . Отсюда получаем, что для
переноса точки в новое положение необходимо добавить к ее координатам некоторые
числа, которые представляют собой координаты вектора переноса:


                                                              [
                                                B = A + R = Ax + Rx , Ay + Ry          ]
Масштабированием объектов называется растяжение объектов вдоль соответствующих
осей координат относительно начала координат. Эта операция применяется к каждой
точке объекта, поэтому можно также говорить о масштабировании точки. При этом,
конечно, речь не идет об изменении размеров самой точки. Масштабирование
достигается умножением координат точек
на некоторые константы. В том случае,
когда эти константы равны между собой,
масштабирование называется однородным.
На рис. 24 приведен пример однородного
масштабирования треугольника ABC .
После применения операции однородного
масштабирования с коэффициентом 2 он
переходит в треугольник A 'B'C' . Если
ввести     матрицу       масштабирования
    ⎡S x 0 ⎤
S=⎢        ⎥ , то для точек A и A ' можно
    ⎣ 0 Sy ⎦
представить операцию масштабирования                                           Рис. 10. Операция масштабирования .
следующим образом:
                                                                          ⎡S x     0⎤
                                                       [x' , y '] = [x, y ]⎢              .
                                                                          ⎣0       S y ⎥⎦




http://www.ksu.ru/persons/9134.ru.html