ВУЗ:
Составители:
ОСНОВЫ КОМПЬЮТЕРНОЙ ГРАФИКИ, часть 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⎥⎦
Так же, как последовательные переносы являются аддитивными,
покажем, что последовательные масштабирования будут
мультипликативными.
Страницы
- « первая
- ‹ предыдущая
- …
- 30
- 31
- 32
- 33
- 34
- …
- следующая ›
- последняя »
