Основы компьютерной графики: Часть 1. Математический аппарат компьютерной графики. Казанцев А.В. - 32 стр.

UptoLike

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

ОСНОВЫ КОМПЬЮТЕРНОЙ ГРАФИКИ, часть 1 32
Теперь точки двумерного пространства будут описываться
трехэлементными вектор-строками, поэтому и матрицы преобразований, на
которые будет умножаться вектор точки, будут иметь размеры 3×3. Запишем
матричное преобразование операции переноса для однородных координат:
[]
[]
=
1
010
001
1,,1,,
''
yx
DD
yxyx
или
()
yx
DDTpp ,
'
= , где
()
=
1
010
001
,
yx
yx
DD
DDT .
При последовательном переносе точки
p
в точку
'
p и затем в точку
''
p
компоненты суммарного вектора переноса являются суммами
соответствующих компонент последовательных векторов переноса.
Рассмотрим, каковы будут элементы матрицы суммарного переноса. Пусть
()
yx
DDTpp ,
'
= ,
(
)
yx
DDTpp
'''''
,= . Подставив первое уравнение во
второе получаем
()
(
)
yx
yx
DDTDDTpp
''''
,, = . Матричное произведение
т.е. суммарный перенос равен произведению соответствующих матриц
переноса.
++
=
1
010
001
1
010
001
1
010
001
''''
y
y
x
x
yx
yx
DDDDDDDD
Запишем матричный вид операции масштабирования.
[]
[]
=
100
00
00
1,,1,,
''
y
x
S
S
yxyx .
Определим матрицу масштабирования
()
=
100
00
00
,
y
x
yx
S
S
SSS
Так же, как последовательные переносы являются аддитивными,
покажем, что последовательные масштабирования будут
мультипликативными.
ОСНОВЫ КОМПЬЮТЕРНОЙ ГРАФИКИ, часть 1                                                              32



      Теперь точки двумерного пространства будут описываться
трехэлементными вектор-строками, поэтому и матрицы преобразований, на
которые будет умножаться вектор точки, будут иметь размеры 3×3. Запишем
матричное преобразование операции переноса для однородных координат:
                                                        ⎡ 1          0        0⎤
                             [            ]             ⎢
                              x ' , y ' ,1 = [x, y,1] ⋅ ⎢ 0          1        0⎥
                                                                                ⎥
                                                        ⎢Dx          Dy       1⎥⎦
                                                        ⎣
                                                                           ⎡ 1      0    0⎤
                                  (           )          (
                или p ' = p ⋅ T D x , D y , где T D x , D y           )    ⎢
                                                                          =⎢ 0      1
                                                                                           ⎥
                                                                                         0⎥ .
                                                                           ⎢Dx      Dy   1⎥⎦
                                                                           ⎣
        При последовательном переносе точки p в точку p ' и затем в точку p ''
компоненты суммарного вектора переноса являются                               суммами
соответствующих компонент последовательных векторов переноса.
Рассмотрим, каковы будут элементы матрицы суммарного переноса. Пусть
          (       )                   (             )
 p ' = p ⋅ T D x , D y , p '' = p ' ⋅ T D ' x , D ' y . Подставив первое уравнение во
                                  (
второе получаем p '' = p ⋅ T D x , D y '
                                              ) ⋅ T (D
                                              '
                                                                 )
                                         x , D y . Матричное произведение
т.е. суммарный перенос равен произведению соответствующих матриц
переноса.
            ⎡ 1    0 0⎤ ⎡ 1        0 0⎤ ⎡         1           0                             0⎤
            ⎢          ⎥⎢                    ⎢                                                ⎥
            ⎢ 0    1 0⎥ 0          1    0⎥ = ⎢    0           1                             0⎥
                          ⎢               ⎥
            ⎢ D x D y 1⎥ ⎢⎣ D ' x D ' y 1⎥⎦ ⎢ D x + D ' x D y + D ' y                       1⎥⎦
            ⎣          ⎦                     ⎣
      Запишем матричный вид операции масштабирования.
                                                        ⎡S x     0         0⎤
                              [           ]
                              x ' , y ' ,1 = [x, y,1] ⋅ ⎢ 0
                                                        ⎢
                                                                 Sy        0⎥ .
                                                                             ⎥
                                                        ⎢⎣ 0     0         1⎥⎦
                                                     ⎡ S x 0 0⎤
                                                             (
     Определим матрицу масштабирования S S x , S y = ⎢ 0 S y 0⎥
                                                     ⎢         ⎥
                                                                          )
                                                     ⎢⎣ 0  0 1⎥⎦
     Так же, как последовательные переносы являются аддитивными,
покажем,     что     последовательные     масштабирования        будут
мультипликативными.