ВУЗ:
Составители:
Основы компьютерной графики для программистов 31
____________________________________________________________________________________________________________________
http://www.ksu.ru/persons/9134.ru.html
3. Перенос, при котором точка из начала координат возвращается в
первоначальное положение
0
p .
Точка
=
0
p
()
00
, yx
. Первый перенос производится на вектор
[]
00
, yx
−
−
, а
обратный перенос - на вектор
[]
00
, yx .
Трехмерные матричные преобразования
Подобно тому, как двумерные преобразования описываются матрицами размером
33 × , трехмерные преобразования могут быть представлены матрицами размером
44 × . Тогда трехмерная точка
(
)
zyx ,,
записывается в однородных координатах как
()
wwzwywx ,,, , где 0≠w . Для получения декартовых координат надо первые три
однородные координаты разделить на
w . Два однородных вектора описывают одну
декартову точку в трехмерном пространстве, если
21
cHH
=
, где 0
≠
= Cons
t
c и
21
, HH - векторы, записанные в однородных координатах.
Матрицы преобразований будем записывать в правосторонней системе координат. При
этом положительный поворот определяется следующим образом. Если смотреть из
положительной части оси вращения (например, оси
z
) в направлении начала
координат, то поворот на
o
90 против часовой стрелки будет переводить одну
положительную полуось в другую (ось
x
в y , в соответствии с правилом циклической
перестановки).
Заметим, что на практике удобнее применять левостороннюю систему координат, так
как в этом случае удобнее интерпретировать тот факт, что точки с большими
значениями
z находятся дальше от наблюдателя.
Запишем теперь матрицу трехмерного переноса. Аналогично двумерному случаю:
()
⎥
⎥
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎢
⎣
⎡
=
1
0100
0010
0001
,,
zyx
zyx
DDD
DDDT
, при этом
Рис. 13. Последовательность преобразований при повороте объекта вокруг точки
=
0
p
(
)
00
, yx на угол α.
Основы компьютерной графики для программистов 31
____________________________________________________________________________________________________________________
3. Перенос, при котором точка из начала координат возвращается в
первоначальное положение p 0 .
Рис. 13. Последовательность преобразований при повороте объекта вокруг точки
p 0 = ( x 0 , y 0 ) на угол α.
Точка p 0 = ( x 0 , y 0 ). Первый перенос производится на вектор [− x0 ,− y 0 ], а
обратный перенос - на вектор [x 0 , y 0 ] .
Трехмерные матричные преобразования
Подобно тому, как двумерные преобразования описываются матрицами размером
3 × 3 , трехмерные преобразования могут быть представлены матрицами размером
4 × 4 . Тогда трехмерная точка ( x, y, z ) записывается в однородных координатах как
(wx, wy, wz, w) , где w ≠ 0 . Для получения декартовых координат надо первые три
однородные координаты разделить на w . Два однородных вектора описывают одну
декартову точку в трехмерном пространстве, если H 1 = cH 2 , где c = Const ≠ 0 и
H 1 , H 2 - векторы, записанные в однородных координатах.
Матрицы преобразований будем записывать в правосторонней системе координат. При
этом положительный поворот определяется следующим образом. Если смотреть из
положительной части оси вращения (например, оси z ) в направлении начала
o
координат, то поворот на 90 против часовой стрелки будет переводить одну
положительную полуось в другую (ось x в y , в соответствии с правилом циклической
перестановки).
Заметим, что на практике удобнее применять левостороннюю систему координат, так
как в этом случае удобнее интерпретировать тот факт, что точки с большими
значениями z находятся дальше от наблюдателя.
Запишем теперь матрицу трехмерного переноса. Аналогично двумерному случаю:
⎡ 1 0 0 0⎤
⎢ 0 1 0 0⎥
(
T Dx , D y , Dz ) =⎢
⎢ 0 0 1
⎥ , при этом
0⎥
⎢ ⎥
⎣Dx Dy Dz 1⎦
http://www.ksu.ru/persons/9134.ru.html
Страницы
- « первая
- ‹ предыдущая
- …
- 29
- 30
- 31
- 32
- 33
- …
- следующая ›
- последняя »
