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

UptoLike

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

Основы компьютерной графики для программистов 31
____________________________________________________________________________________________________________________
http://www.ksu.ru/persons/9134.ru.html
3. Перенос, при котором точка из начала координат возвращается в
первоначальное положение
0
p .
Точка
=
0
p
()
00
, yx
. Первый перенос производится на вектор
[]
00
, yx
, а
обратный перенос - на вектор
[]
00
, yx .
Трехмерные матричные преобразования
Подобно тому, как двумерные преобразования описываются матрицами размером
33 × , трехмерные преобразования могут быть представлены матрицами размером
44 × . Тогда трехмерная точка
(
)
zyx ,,
записывается в однородных координатах как
()
wwzwywx ,,, , где 0w . Для получения декартовых координат надо первые три
однородные координаты разделить на
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