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

UptoLike

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

35
()
()
.sinsincoscoscoscos
,sincoscossinsinsin
1
1
ϕϕϕϕϕϕϕ
ϕ
ϕ
ϕ
ϕ
ϕ
ϕ
ϕ
ΔΔ=Δ+=
Δ
+
Δ
=
Δ+=
+
+
iiii
iiii
При выбранном шаге Δ
φ значения sin Δφ, cos Δφ являются константами, и
вычисление очередного значения тригонометрической функции сводится к двум
операциям умножения этих констант на уже известные предыдущие значения
sin
φ
i
, cos φ
i
и суммированию полученных произведений. Начальные значения
тригонометрических функций очевидны: sin
φ
0
=0, cos φ
0
=1.
Если квадрики описаны в параметрической форме, то усложняется задача
определения нормалей к поверхностям. Понятно, что для определения
освещенности криволинейной поверхности требуется определить направление
нормали в каждой ее точке. Компоненты вектора нормали, проведенной в
i-ой
точке к параметрически заданной поверхности, являются, в общем случае,
дробно-рациональными функциями и в СКН описываются выражениями
.,,
ii
ii
zi
ii
ii
yi
ii
ii
xi
v
y
v
x
u
y
u
x
n
v
x
v
z
u
x
u
z
n
v
z
v
y
u
z
u
y
n
=
=
=
(3.1)
где
u и vпараметры, например, φ и θ.
При развертывании поверхности по координатным линиям
u или v две частные
производные в каждом определителе постоянны, однако вычисление
компонентов
n
x
, n
y
, n
z
в целом требует выполнения нескольких операций
умножения для каждой точки поверхности, что для режима реального времени
является недопустимо затратным. Задачу можно упростить, если иметь в виду,
что направление нормали зависит от вида самой поверхности, а не от формы ее
математического представления. Тогда для нахождения координат нормали
можно использовать общую форму описания
квадрики:
()
(
)
(
)
.
,,
,
,,
,
,,
z
zyxF
n
y
zyxF
n
x
zyxF
n
ziyixi
=
=
=
Например, для сферы координаты нормали после пропорционального деления на
два, что не изменяет направление вектора, принимают вид:
n
x
=x, n
y
=y, n
z
=z.
                                                                                                            35
                    sin ϕ i +1 = sin (ϕ i + Δϕ ) = sin ϕ i cos Δϕ + cos ϕ i sin Δϕ ,
                    cos ϕ i +1 = cos(ϕ i + Δϕ ) = cos ϕ i cos Δϕ − sin ϕ i sin Δϕ .

При выбранном шаге Δφ значения sin Δφ, cos Δφ                                    являются константами, и
вычисление очередного значения тригонометрической функции сводится к двум
операциям умножения этих констант на уже известные предыдущие значения
sin φi, cos φi и суммированию полученных произведений. Начальные значения
тригонометрических функций очевидны: sin φ0=0, cos φ0=1.
     Если квадрики описаны в параметрической форме, то усложняется задача
определения    нормалей к поверхностям. Понятно, что для определения
освещенности криволинейной поверхности требуется определить направление
нормали в каждой ее точке. Компоненты вектора нормали, проведенной в i-ой
точке к параметрически заданной поверхности, являются, в общем случае,
дробно-рациональными функциями и в СКН описываются выражениями
              ⎛ ∂y ⎞    ⎛ ∂z ⎞        ⎛ ∂z ⎞                  ⎛ ∂x ⎞        ⎛ ∂x ⎞            ⎛ ∂y ⎞
              ⎜ ⎟       ⎜ ⎟           ⎜ ⎟                     ⎜ ⎟           ⎜ ⎟               ⎜ ⎟
                ∂u
        nxi = ⎝ ⎠i      ⎝ ∂u ⎠i , n = ⎝ ∂u ⎠i                 ⎝ ∂u ⎠i , n = ⎝ ∂u ⎠i           ⎝ ∂u ⎠i .
              ⎛ ∂y ⎞    ⎛ ∂z ⎞     yi
                                      ⎛ ∂z ⎞                  ⎛ ∂x ⎞     zi
                                                                            ⎛ ∂x ⎞            ⎛ ∂y ⎞      (3.1)
              ⎜ ⎟       ⎜ ⎟           ⎜ ⎟                     ⎜ ⎟           ⎜ ⎟               ⎜ ⎟
              ⎝ ∂v ⎠i   ⎝ ∂v ⎠i       ⎝ ∂v ⎠i                 ⎝ ∂v ⎠i       ⎝ ∂v ⎠i           ⎝ ∂v ⎠i
где u и v – параметры, например, φ и θ.
При развертывании поверхности по координатным линиям u или v две частные
производные     в   каждом           определителе              постоянны,            однако        вычисление
компонентов     nx, ny, nz в целом требует                        выполнения нескольких операций
умножения     для каждой точки поверхности, что для режима реального времени
является недопустимо затратным. Задачу можно упростить, если иметь в виду,
что направление нормали зависит от вида самой поверхности, а не от формы ее
математического представления. Тогда для нахождения координат нормали
можно использовать общую форму описания квадрики:
                            ∂F ( x, y, z )          ∂F ( x, y, z )         ∂F ( x, y, z )
                    nxi =                  , n yi =                , nzi =                .
                                 ∂x                     ∂y                      ∂z

Например, для сферы координаты нормали после пропорционального деления на
два, что не изменяет направление вектора, принимают вид: nx=x, ny=y, nz=z.