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

UptoLike

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

18
действием должно быть проецирование, выполняемое умножением на матрицу
PR. В результате динамика точки Р описывается выражением (2.1), где матрица
преобразований
М имеет вид: M=TRRT·TRPR. Входящие в суперпозицию
матрицы сдвига и поворота выглядят так:
,
10
0100
0010
0001
2,
10
0100
0010
0001
1
aaaa
yx
TR
yx
TR =
=
.
1000
0100
00cossin
00sincos
ββ
ββ
=
Z
RT
2.4 Определение видимости примитивов
Проецированию на картинную плоскость подвергаются только лицевые
примитивы, то есть примитивы, обращенные к наблюдателю лицевой стороной.
Лицевой считается сторона, к которой проведена внешняя (по отношению к
объекту) нормаль. Нелицевые примитивы выявляются и отбрасываются, чтобы
далее не тратить время на их обработку. Алгоритм выявления нелицевых
примитивов предполагает анализ угла
β
между лучом зрения L , падающим в
некоторую точку примитива, и внешней нормалью
N
, проведенной через эту
точку. Острый угол
β
говорит о видимости грани, прямой и тупойо ее
невидимости. О величине угла судят по знаку его косинуса, который получают с
помощью скалярного произведения векторов
L
и
N
:
cos
β
=
LN
LN
.
При
()
sgn LN⋅>0 примитив лицевой, в противном случаенелицевой.
Векторная алгебра дает следующее выражение для нахождения скалярного
произведения векторов
L
и
N
:
,
zzyyxx
nlnlnlNL ++=
где
l
x
, l
y
, l
z
и n
x
, n
y
, n
z
соответственно координаты векторов
L
и
N
, то есть их
проекции на координатные оси.
                                                                                                          18
действием должно быть проецирование, выполняемое умножением на матрицу
PR. В результате динамика точки Р описывается выражением (2.1), где матрица
преобразований М имеет вид:               M=TR1·RT·TR2·PR. Входящие в суперпозицию
матрицы сдвига и поворота выглядят так:
                1       0     0   0            1      0      0    0         cos β   − sin β   0   0
                 0     1      0   0          0        1     0     0         sin β    cos β    0   0
        TR1 =                       , TR 2 =                        , RTZ =                         .
                 0     0      1   0          0        0     1     0           0        0      1   0
                − xa   − ya   0   1            xa     ya     0    1           0        0      0   1




2.4   Определение видимости примитивов

      Проецированию на картинную плоскость подвергаются только лицевые
примитивы, то есть примитивы, обращенные к наблюдателю лицевой стороной.
Лицевой считается сторона, к которой проведена внешняя (по отношению к
объекту) нормаль. Нелицевые примитивы выявляются и отбрасываются, чтобы
далее не тратить время на их обработку. Алгоритм выявления нелицевых
примитивов предполагает анализ угла β между лучом зрения L , падающим в

некоторую точку примитива, и внешней нормалью N , проведенной через эту
точку. Острый угол β говорит о видимости грани, прямой и тупой –                                        о ее
невидимости. О величине угла судят по знаку его косинуса, который получают с
помощью скалярного произведения векторов L и N :
                                                          L⋅N
                                           cos β =            .
                                                          L⋅N

При sgn( L ⋅ N ) > 0 примитив лицевой, в противном случае – нелицевой.

Векторная алгебра дает следующее выражение для нахождения скалярного
произведения векторов L и N :
                                      L ⋅ N = l x nx + l y n y + l z nz ,

где lx, ly, lz и nx, ny, nz – соответственно координаты векторов L и N , то есть их
проекции на координатные оси.