Моделирование волн на поверхности жидкости - page 4

А.В. Куров, К.А. Якиль
4
числять интенсивность освещения, что, в свою очередь, требует зна-
ния вектора нормали в точках поверхности. Используя уравнения по-
верхностей, определим нормали в любой ее точке. Уравнение норма-
ли к поверхности в точке (
x
,
y
,
z
):
( , , )
( , , )
( , , )
N x y z NB x y z NT x y z
=
,
где
NB
(
x
,
y
,
z
) и
NT
(
x
,
y
,
z
) — частные производные по
x
и
y
;
( , , )
( , , )
,
( , , )
( , , )
,
f x y t
NB x y z
x
f x y t
NT x y z
y
=
=
где
f
(
x
,
y
,
t
) — итоговое уравнение поверхности;
1
1
( , , )
sin 1
0,5
cos ,
2
( , , )
sin 1
0,5
cos .
2
k
x
k
y
f x y t
S
kDir fA
S
x
f x y t
S
kDir fA
S
y
+ ⎛
=
+ ⎛
=
Задавая векторы нормалей проекциями на координатные оси, по-
лучим
( , , )
( , , )
( , , )
,
,
1, 0,
,
( , , )
( , , )
( , , )
,
,
0,1,
.
x y f x y t
f x y t
NB x y z
x x
x
x
x y f x y t
f x y t
NT x y z
y y
y
y
∂ ∂ ∂
⎞ ⎛
=
=
⎟ ⎜
⎠ ⎝
∂ ∂
⎞ ⎛
∂ ∂ ∂
=
=
⎟ ⎜
⎝ ∂ ∂
∂ ⎠ ⎝
∂ ⎠
Поскольку производится поиск общего решения, то необходимо
найти частные производные от сумм волновых уравнений по
x
и
y
.
Итоговая формула для вычисления нормали
0
0
( , , )
( , , )
( , )
,
,1
l
l
j
j
f x y t
f x y t
N x y
x
y
=
=
= −
∑ ∑
.
Выбор алгоритма визуализации.
На реалистичность изображе-
ния влияет модель освещения. Поскольку необходимо поддерживать
визуализацию изображения в реальном времени, выбрана простая
модель освещения, в которой учитывается диффузное отражение,
рассеянный свет и используется упрощенная модель Буи-Туонга
Фонга для зеркального отражения [1]:
и д
з
1
( cos θ cos α )
n
m
j
i
j
р р
j
j
I k
k
I I k
d L
=
+
= +
+
,
1,2,3 5,6,7,8,9,10,11
Powered by FlippingBook