Поверхностные модели в системах трехмерной компьютерной графики. Косников Ю.Н. - 17 стр.

UptoLike

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

17
Различают правую и левую системы координат, в которых матрицы
преобразований выглядят по-разному. В правой системе координат поворот оси
x
к оси
y, оси y к оси z, оси z к оси x осуществляются против часовой стрелки,
если смотреть из первого октанта. В левой системе координат эти повороты
осуществляются по часовой стрелке. Если начало СКН лежит в плоскости экрана,
ось глубины (ось
z
v
) проходит через его центр, а точка наблюдения расположена
на отрицательной полуоси глубины, то имеет место левая система координат. В
ней матрицы преобразований поворота имеют вид:
.
1000
0100
00cossin
00sincos
,
1000
0cos0sin
0010
0sin0cos
,
1000
0cossin0
0sincos0
0001
θθ
θθ
ψψ
ψψ
ϕϕ
ϕϕ
=
=
=
ZYX
RTRTRT
В правой системе координат они выглядят следующим образом:
.
1000
0100
00cossin
00sincos
,
1000
0cos0sin
0010
0sin0cos
,
1000
0cossin0
0sincos0
0001
θθ
θθ
ψψ
ψψ
ϕϕ
ϕϕ
=
=
=
ZYX
RTRTRT
Результирующая матрица преобразований
M, в общем случае, определяется
произведением (суперпозицией) приведенных матриц. Матрицы включаются в
суперпозицию слева направо в соответствии с последовательностью описываемых
преобразований. Например, необходимо найти местоположение на экране
пространственной точки
Р с координатами (x
p
,y
p
,z
p
) после выполнения следующих
преобразований: 1) поворот на угол
β вокруг оси, параллельной оси глубины и
проходящей через точку экрана с координатами (
x
a
,y
a
), 2) перспективное
проецирование на плоскость экрана. Рассмотренная матрица
RT
Z
предназначена
для поворота вокруг оси
z, следовательно, для применения RT
Z
нужно совместить
ось поворота точки
Р с осью глубины. Для этого следует сдвинуть ее по
горизонтали и вертикали на (–
x
a
),(–y
a
), соответственно. Такой же сдвиг получит
сама точка
Р. Для этого осуществляется умножение ее координат на матрицу
TR1. Далее нужно выполнить поворот на угол β, а затем устранить последствия
первого сдвига, вернув точку
Р на (+x
a
),(+y
a
) – умножение на TR2. Последним
                                                                                                   17
     Различают правую и левую системы координат, в которых матрицы
преобразований выглядят по-разному. В правой системе координат поворот оси x
к оси y, оси y к оси z, оси z к оси x осуществляются против часовой стрелки,
если смотреть из первого октанта. В левой системе координат эти повороты
осуществляются по часовой стрелке. Если начало СКН лежит в плоскости экрана,
ось глубины (ось zv) проходит через его центр, а точка наблюдения расположена
на отрицательной полуоси глубины, то имеет место левая система координат. В
ней матрицы преобразований поворота имеют вид:
         1   0       0       0            cosψ     0 sinψ    0           cosθ      − sin θ   0   0
         0 cos ϕ   − sin ϕ   0              0      1   0     0           sin θ     cosθ      0   0
 RTX =                         ,   RTY =                       ,   RTZ =                           .
         0 sin ϕ   cos ϕ     0           − sinψ    0 cosψ    0             0         0       1   0
         0   0       0       1              0      0   0     1             0         0       0   1

В правой системе координат они выглядят следующим образом:
       1    0         0      0           cosψ     0 − sinψ   0            cosθ      sin θ    0   0
       0 cos ϕ      sin ϕ    0             0      1    0     0           − sin θ    cosθ     0   0
 RTX =                         ,   RTY =                       ,   RTZ =                           .
       0 − sin ϕ    cos ϕ    0           sinψ     0 cosψ     0              0         0      1   0
       0    0         0      1             0      0    0     1              0         0      0   1

     Результирующая матрица преобразований M, в общем случае, определяется
произведением (суперпозицией) приведенных матриц. Матрицы включаются в
суперпозицию слева направо в соответствии с последовательностью описываемых
преобразований. Например, необходимо найти местоположение на экране
пространственной точки Р с координатами (xp,yp,zp) после выполнения следующих
преобразований: 1) поворот на угол β вокруг оси, параллельной оси глубины и
проходящей через точку экрана с координатами (xa,ya), 2) перспективное
проецирование на плоскость экрана. Рассмотренная матрица RTZ предназначена
для поворота вокруг оси z, следовательно, для применения RTZ нужно совместить
ось поворота       точки Р с осью глубины. Для этого следует сдвинуть ее по
горизонтали и вертикали на (–xa ),(–ya), соответственно. Такой же сдвиг получит
сама точка Р. Для этого осуществляется умножение ее координат на матрицу
TR1. Далее нужно выполнить поворот на угол β, а затем устранить последствия
первого сдвига, вернув точку Р на           (+xa),(+ya) – умножение на TR2. Последним