3.2. МОДЕЛЬ ОБЪЕКТА3.2.1. ПРИМИТИВЫ – БАЗОВЫЕ СТРОИТЕЛЬНЫЕ ЭЛЕМЕНТЫ ОБЪЕКТАНаиболее удобно представлять трехмерные объекты для метода обратного трассирования лучей в виде отдельных строительных блоков, поверхности которых обычно описываются функциями первого и второго порядка. Выбор таких функций обусловлен необходимостью аналитического, а не численного решения уравнений пересечения светового луча с поверхностями. Описание бикубических поверхностей представлено в §3.4.4. Будем называть функциональным объемом некоторую часть пространства (необязательно конечную), которая охватывается поверхностью одной функции. Для того чтобы однозначно определить, какой участок полупространства относится к телу объекта, а какой вне его, установим следующее правило: принадлежащим телу объекта считается подпространство, выделяемое поверхностью Объемными примитивами будем называть конечные участки пространства, ограниченные одной или несколькими функционально описанными поверхностями. Очень часто в качестве примитива используют функциональный объем, ограниченный плоскостями – многогранник. Примитивы, естественно, должны обеспечивать удобство конструирования из них производных тел и обладать относительной математической простотой. Плоским примитивом будем называть часть плоскости, ограниченную замкнутой линией, состоящей из конечного числа прямолинейных или криволинейных участков. Для одного и того же примитива характерны неизменное количество ограничивающих его тело поверхностей и стандартный вид функций, описывающих эти поверхности. Параметры функций являются варьируемыми, этим достигается изменение формы примитива (например из эллипсоида в шар), их пространственного положения и ориентации. Наиболее употребительные типы примитивов показаны на рис.3.2.1: а – тетраэдр, б – параллелепипед, в – цилиндр, г – эллипсоид, д – конус, е – часть плоскости. Рис. 3.2.1. Типичные примитивы Изображения некоторых примитивов, полученные методом машинной графики, показаны на рис.3.2.2 - 3.2.6. Рис. 3.2.2. Сцена, составленная из эллипсоидов Рис. 3.2.3. Цилиндр Рис. 3.2.4. Параллелепипед Рис. 3.2.5. Конус двухсторонний (а) и односторонний (б) Приведем пример математического описания цилиндрического примитива в виде кругового цилиндра с плоскими торцами, перпендикулярными оси. Математическая модель примитива состоит из уравнения цилиндра
где Для всех поверхностей примитива сохраним правило размещения положительных подпространств внутри тела примитива. Так, если в состав примитива входят
где Формальное правило преобразования исходно заданной функции Напомним, что положительность значения всех функций внутри тела примитива необходима для локализации примитива в пространстве и однозначного определения положения нормали – внутрь примитива. На рис. 3.2.6 показан пример изображения истребителя, сконструированного из геометрических примитивов. Рис. 3.2.6. Истребитель
|