Рис. 1. Схема определе-
ния прямой тени
Геометрическая видимость.
Геометриче-
ская видимость точки определяется знаком
скалярного произведения векторов потока и
внешней нормали поверхности, восстановлен-
ной из данной точки. Если знак скалярного
произведения отрицательный, то точка, из ко-
торой восстановлена нормаль, располагается
на видимой поверхности, иначе точка лежит в
области тени (рис. 1).
Вектор нормали в точке, лежащей на про-
извольной поверхности
F
(
X, Y, Z
)
, задается следующим соотноше-
нием:
n
(
X, Y, Z
) =
∂F
∂X
∂F
∂Y
∂F
∂Z
т
.
Перекрытие поверхности.
Определение взаимного перекрытия по-
верхностей является классической задачей компьютерной графики.
Существует множество различных путей ее решения, однако зачастую
помимо сложности реализации этих методов, требуется также допол-
нительная их адаптация к условиям задачи. Одним из таких методов
является метод бросания лучей (ray casting) [10, 11]. Принцип метода
состоит в поиске первого пересечения объекта с лучом, проведенным
из картинной плоскости. Применительно к рассматриваемой задаче,
метод бросания лучей может быть представлен в виде следующего
алгоритма.
1. Проецирование вершин каждого элемента дискретизации инте-
ресующей поверхности на картинную плоскость, перпендикулярную
направлению невозмущенного потока.
2. Восстановление лучей с основаниями в каждой спроецирован-
ной вершине и направлением, коллинеарным направлению вектора
невозмущенного потока.
3. Нахождение первого (ближайшего) пересечения каждого луча с
каждой из поверхностей, составляющих тело.
4. В случае, если точка первого пересечения луча совпадает с вер-
шиной, проекция которой на картинную плоскость совпадает с осно-
ванием луча, то данная вершина является видимой, в противном слу-
чае — невидимой. Элемент считается видимым, если все его вершины
видимы, и невидимым — если хотя бы одна из вершин не является
видимой.
Проекции узлов сетки на картинную плоскость легко найти путем
замены системы координат на связанную с направлением невозмущен-
112 ISSN 0236-3941. Вестник МГТУ им. Н.Э. Баумана. Сер. “Машиностроение”. 2014. № 4