Читать в оригинале

<< Предыдущая Оглавление Следующая >>


3.2. МОДЕЛЬ ОБЪЕКТА

3.2.1. ПРИМИТИВЫ – БАЗОВЫЕ СТРОИТЕЛЬНЫЕ ЭЛЕМЕНТЫ ОБЪЕКТА

Наиболее удобно представлять трехмерные объекты для метода обратного трассирования лучей в виде отдельных строительных блоков, поверхности которых обычно описываются функциями первого и второго порядка. Выбор таких функций обусловлен необходимостью аналитического, а не численного решения уравнений пересечения светового луча с поверхностями. Описание бикубических поверхностей представлено в §3.4.4.

Будем называть функциональным объемом некоторую часть пространства (необязательно конечную), которая охватывается поверхностью одной функции. Для того чтобы однозначно определить, какой участок полупространства относится к телу объекта, а какой вне его, установим следующее правило: принадлежащим телу объекта считается подпространство, выделяемое поверхностью , в любой точке которого значение скалярного поля . Назовем такое подпространство положительным, а смежное с ним и лежащее по другую сторону от поверхности функции – отрицательным. При соблюдении этой договоренности, автоматически выполняется условие направленности вектора нормали внутрь тела, т. е. в сторону положительного подпространства, так как градиент скалярного поля описываемых классов направлен нормально от поверхности в сторону возрастания значения .

Объемными примитивами будем называть конечные участки пространства, ограниченные одной или несколькими функционально описанными поверхностями. Очень часто в качестве примитива используют функциональный объем, ограниченный плоскостями – многогранник. Примитивы, естественно, должны обеспечивать удобство конструирования из них производных тел и обладать относительной математической простотой.

Плоским примитивом будем называть часть плоскости, ограниченную замкнутой линией, состоящей из конечного числа прямолинейных или криволинейных участков.

Для одного и того же примитива характерны неизменное количество ограничивающих его тело поверхностей и стандартный вид функций, описывающих эти поверхности. Параметры функций являются варьируемыми, этим достигается изменение формы примитива (например из эллипсоида в шар), их пространственного положения и ориентации. Наиболее употребительные типы примитивов показаны на рис.3.2.1: а – тетраэдр, б – параллелепипед, в – цилиндр, г – эллипсоид, д – конус, е – часть плоскости.

66-1.jpg

Рис. 3.2.1. Типичные примитивы

Изображения некоторых примитивов, полученные методом машинной графики, показаны на рис.3.2.2 - 3.2.6.

66-2.jpg

Рис. 3.2.2. Сцена, составленная из эллипсоидов

67-1.jpg

Рис. 3.2.3. Цилиндр

67-2.jpg

Рис. 3.2.4. Параллелепипед

67-3.jpg

Рис. 3.2.5. Конус двухсторонний (а) и односторонний (б)

Приведем пример математического описания цилиндрического примитива в виде кругового цилиндра с плоскими торцами, перпендикулярными оси. Математическая модель примитива состоит из уравнения цилиндра

,           (3.2.1)

где  – координаты любой точки на оси цилиндра;  – компоненты направляющего вектора оси цилиндра, и уравнений торцевых поверхностей , , где ,  – координаты осевых точек первом и втором торце соответственно.

Для всех поверхностей примитива сохраним правило размещения положительных подпространств внутри тела примитива. Так, если в состав примитива входят  уравнений вида , где , то на этапе конструирования примитива устанавливают состояние:

,                (3.2.2)

где  – любая заведомо внутренняя точка тела примитива. Достижение указанного состояния осуществляется подбором знака в уравнении .

Формальное правило преобразования исходно заданной функции  в форму , обеспечивающую положительность подпространства внутри примитива, представляется в виде: .

Напомним, что положительность значения всех функций внутри тела примитива необходима для локализации примитива в пространстве и однозначного определения положения нормали – внутрь примитива.

На рис. 3.2.6 показан пример изображения истребителя, сконструированного из геометрических примитивов.

68.jpg

Рис. 3.2.6. Истребитель

 



<< Предыдущая Оглавление Следующая >>