ВУЗ:
Составители:
Чтобы получить цветное изображение, необходимо найти функции закраски для
каждого из трех основных цветов - красного, зеленого и синего. Поскольку цвет
зеркально отраженного света определяется цветом падающего, то постоянная
k
s
считается одинаковой для каждого их этих цветов.
В случае, когда точечных источников света несколько, то значение
интенсивности отраженного света в некоторой точке определяется как
сумма значений интенсивности отраженного света от каждого источника
света. Если освещаемая поверхность в рассматриваемой точке гладкая
(имеет касательную плоскость), то вектор внешней нормали вычисляется
непосредственно. Пусть закрашиваемая поверхность задана неявном виде
F(x,y,z)=0. Если дана
явная функция, то эту функцию всегда можно
представить в неявном виде путем переноса в левую часть уравнения
определяемое значение. Для определения вектора нормали
n(n
x
,n
y
,n
z
) в
некоторой точке
N(x
N
,y
N
,z
N
) необходимо определить частные производные
F
x
, F
y
, F
z
, по переменным x,y,z и в полученные уравнения подставить
координаты точки, для которой определяется нормаль.
)z,y,x(Fn)z,y,x(Fn)z,y,x(Fn
x
)z,y,x(F
)z,y,x(F,
x
)z,y,x(F
)z,y,x(F,
x
)z,y,x(F
)z,y,x(F
NNNZZNNNYYNNNXX
zyx
===
∂
∂
=
∂
∂
=
∂
∂
=
В случае многогранной поверхности векторы внешних нормалей
можно найти только для ее граней. Что касается направлений векторов
внешних нормалей на ребрах и в вершинах этой поверхности, то их
значения можно найти только приближенно.
Пусть, например, грани, сходящиеся в данной вершине, лежат в
плоскостях, описываемых уравнениями
A
i
x + B
i
y + C
i
z + D
i
= 0, i = 1,...,m.
Можно считать, что нормальные векторы этих плоскостей
(A
i
, B
i
, C
i
), i = 1,...,m,
являются векторами внешних нормалей для рассматриваемой многогранной
поверхности (если какой-то из нормальных векторов не является внешним,
то достаточно поменять знаки его координат на противоположные).
Складывая эти векторы, получаем вектор, определяющий направление
приближенной нормали
(А, В, С) =
i
m
=
∑
1
(A
i
, B
i
, C
i
).
Замечание
Для определения направления приближенной нормали в точке, лежащей на ребре
многогранной поверхности, достаточно сложить векторы внешних нормалей,
примыкающих к этому ребру граней рассматриваемой поверхности. Можно
поступить и по-иному. А именно, аппроксимировать переменный вектор нормали
вдоль ребра многогранной поверхности при помощи уже найденных векторов
внешних нормалей в вершинах, прилегающих к рассматриваемому
ребру.
Чтобы получить цветное изображение, необходимо найти функции закраски для каждого из трех основных цветов - красного, зеленого и синего. Поскольку цвет зеркально отраженного света определяется цветом падающего, то постоянная ks считается одинаковой для каждого их этих цветов. В случае, когда точечных источников света несколько, то значение интенсивности отраженного света в некоторой точке определяется как сумма значений интенсивности отраженного света от каждого источника света. Если освещаемая поверхность в рассматриваемой точке гладкая (имеет касательную плоскость), то вектор внешней нормали вычисляется непосредственно. Пусть закрашиваемая поверхность задана неявном виде F(x,y,z)=0. Если дана явная функция, то эту функцию всегда можно представить в неявном виде путем переноса в левую часть уравнения определяемое значение. Для определения вектора нормали n(nx,ny,nz) в некоторой точке N(xN,yN,zN) необходимо определить частные производные Fx, Fy, Fz, по переменным x,y,z и в полученные уравнения подставить координаты точки, для которой определяется нормаль. ∂F( x , y, z) ∂F( x , y, z) ∂F( x , y, z) Fx ( x , y, z) = , Fy ( x , y, z) = , Fz ( x , y, z) = ∂x ∂x ∂x n X = FX ( x N , y N , z N ) n Y = FY ( x N , y N , z N ) n Z = FZ ( x N , y N , z N ) В случае многогранной поверхности векторы внешних нормалей можно найти только для ее граней. Что касается направлений векторов внешних нормалей на ребрах и в вершинах этой поверхности, то их значения можно найти только приближенно. Пусть, например, грани, сходящиеся в данной вершине, лежат в плоскостях, описываемых уравнениями Ai x + Bi y + Ci z + Di = 0, i = 1,...,m. Можно считать, что нормальные векторы этих плоскостей (Ai, Bi, Ci), i = 1,...,m, являются векторами внешних нормалей для рассматриваемой многогранной поверхности (если какой-то из нормальных векторов не является внешним, то достаточно поменять знаки его координат на противоположные). Складывая эти векторы, получаем вектор, определяющий направление приближенной нормали m (А, В, С) = ∑ (Ai, Bi, Ci). i =1 Замечание Для определения направления приближенной нормали в точке, лежащей на ребре многогранной поверхности, достаточно сложить векторы внешних нормалей, примыкающих к этому ребру граней рассматриваемой поверхности. Можно поступить и по-иному. А именно, аппроксимировать переменный вектор нормали вдоль ребра многогранной поверхности при помощи уже найденных векторов внешних нормалей в вершинах, прилегающих к рассматриваемому ребру.
Страницы
- « первая
- ‹ предыдущая
- …
- 44
- 45
- 46
- 47
- 48
- …
- следующая ›
- последняя »