double arrow

Рабочее трехмерное пространство

Понятно, что традиционная 2D-плоскость рисунка (как, например, в графических редакторах CorelDRAW, Adobe Illustrator или Macromedia FreeHand) для трехмерной графики не подходит. В данном случае потребуется такое описание рабочего пространства, в котором можно создавать не только геометрическую форму моделируемых трехмерных объектов, но и их взаимное расположение, как в статике, так и в движении.

Все программы ЗD-графики, прежде всего, позволяют использовать декартову систему координат (Cartesian coordinate system). В этой системе координат положение произвольной точки Р в пространстве задается тремя вещественными числами (координатами), обозначающими перпендикулярные проекции этой точки на три фиксированные, взаимоперпендикулярные, градуированные линии, называемые осями координат.

а

б

в

г

Рисунок 41

а б

Рисунок 42

а б

Рисунок 43

Обычно эти три оси координат (coordinate axis) обозначаются как ось х (абсцисса), ось у (ордината) и ось z (аппликата), а отложенные на них координаты точки записываются как (х, у, z).

Точка с координатами (0, 0, 0) называется началом системы координат (origin). Также надо заметить, что существует два варианта таких прямоугольных систем координат: правосторонняя и левосторонняя. Чтобы разобраться в них, достаточно нарисовать на листе бумаги ось х горизонтально (положительные значения отложены справа от начала координат), а ось у вертикально (положительные значения сверху от начала координат). Теперь, если на оси z, проведенной перпендикулярно плоскости листа, положительные значения идут от листа к зрителю, то это правосторонняя система координат. В противном случае система координат - левосторонняя.

а б

Рисунок 44

Рисунок 45

Реже, но все же достаточно часто, используются две другие системы координат: полярная цилиндрическая система координат (polar cylindrical coordinate system) и полярная сферическая система координат (polar spherical coordinate system).

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

Чаще всего программы трехмерного моделирования предоставляют следующие варианты пространств.

Пространство объекта (object space), которое предназначено для моделирования (описания) формы объекта в его собственной (локальной) системе координат безотносительно того, где он будет размещен на сцене, как ориентирован или масштабирован. У каждого объекта существует своя собственная система координат.

Мировое пространство (world space) используется для размещения объектов на сцене, осуществления аффинных трансформаций (перемещения, поворота и масштабирования объектов), описания освещения сцены, вычисления столкновений между объектами при моделировании динамики их движения и т. п. Это единое пространство для всех объектов.

Видовое пространство (view space) ассоциировано с виртуальным наблюдателем (обычно камерой) или определенной проекцией сцены (например, фронтальным видом) и описывает ту часть сцены, которая доступна для просмотра и работы в видовом окне (viewport). Это - своего рода точка зрения.

Экранное пространство (screen space) - это 3D-пространство (плоскость), в котором отображаются аксонометрические (axonometric) или перспективные (perspective) проекции ЗD-объектов на плоскость поверхности монитора.

UVW-параметрическое пространство (UVW parametric space) используется при математическом моделировании сложных кривых и поверхностей (например, NURBS-объектов) или для задания UVW-координат текстурирования поверхностей (UVW mapping coordinates).

Все создаваемые трехмерные объекты можно разделить на геометрические и негеометрические объекты.

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

Вторые же применяются для придания сцене реалистичности (скажем, правильного освещения), для, моделирования физических сил, действующих на объекты (например, гравитации или порывов ветра), для реализации других утилитарных целей (например, повышения точности построений, измерения расстояний и т. п.).

Другими словами, геометрические объекты будут присутствовать в визуализированном кадре явно (как кривые или поверхности), а негеометрические — опосредствованно (в виде бликов, теней, ускорений и т. п.).

Рассматривая программу 3D Studio MAX в качестве примера, можно кратко описать инструментарий создания негеометрических объектов. Внимания заслуживают следующие типы объектов.

Источники света - используются при моделировании наружного и интерьерного освещения. Различные типы источников реализуют различные алгоритмы распространения света: всенаправленные лучи из точечного источника (omni light); сфокусированный луч из прожекторного источника (spotlight); параллельные лучи из направленного источника (direct light). Кстати, последний тип чаще всего используется при моделировании солнечного света. При этом испускаемый источниками свет может быть по-разному окрашен, он может затухать на определенном расстоянии, а также порождать тени от объектов. К сожалению, большинство 3D-программ (и "стандартный" 3D Studio MAX здесь не исключение) не моделируют корректно рассеянный свет (ambient light), что напрямую сказывается на фотореалистичности итоговой визуализации.

На рисунке 45 представлена плоскость, освещенная различными способами, в графическом редакторе 3ds max. На рисунке 46а - представлено фоновое (стандартное освещение по умолчанию), на рисунке 46б точечный источник, на рисунке 46в установлен прожекторный источник target spot, на следующем - target direct – у него более четкие границы освещенной области.

а б

в г

Рисунок 46

Камеры - позволяют полностью контролировать отображение объектов в плоскости кадра. На рисунке 47а показана направленная камера (target) и отображение сцены из нее, рисунок 47б.

а б

Рисунок 47

Важнейшей характеристикой является фокусное расстояние объектива камеры (focal length), определяющее ее поле зрения. Оба этих параметра взаимосвязаны и измеряются в миллиметрах и градусах соответственно. Еще одной важной характеристикой камеры являются плоскости отсечения, ограничивающие видимую по глубине (расстоянию от наблюдателя) часть сцены (фотографы определяют этот параметр как "глубину резкости").

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

Следующие свойства поверхностей определяют взаимодействие материала со светом:

цвет (color) – рисунок 48а и 48б;

а б

Рисунок 48

прозрачность (transparency) – рисунок 49а;

а б

Рисунок 49

коэффициент преломления (refractive index) – рисунок 49б.

глянцевость (shininess) – рисунок 50а - сфера с матовой поверхностью, а на рисунке 50б с глянцевой поверхностью;

а б

Рисунок 50

Цвет и прозрачность определяют прямое и непрямое рассеянное освещение, вычисляемое при итоговой визуализации с помощью алгоритма излучения

Коэффициент преломления и глянцевость (полированность) материала определяют блики и зеркальные отражения на поверхности. Блики и отражения просчитываются при визуализации с помощью алгоритма трассировки лучей (ray tracing).

Таким образом, можно выделить ряд характеристик материала, позволяющих моделировать фотореалистичные материалы. К этим характеристикам отно­сятся:

- цвета поверхности в областях зеркального блика, тени и диффузного рассеивания;

- размер и яркость блика;

- степень самосветимости и непрозрачности;

- тип непрозрачности;

- цвет света, пропущенного полупрозрачным объектом;

- коэффициент преломления лучей света в прозрачном материале;

- и т.п.

Создать материал означает задать значения названным выше параметрам, рисунок 51.

Рисунок 51

Зеркальный блеск создается на участке поверхности, где угол падения лучей света приблизительно равен углу отражения в направле­нии глаз наблюдателя, рисунок 51.

Блик (Specular) тем меньше, чем более глянцевой является поверхность. Диф­фузное рассеивание (Diffuse) имеет место на всей площади объекта и происходит во всех направлениях и глаза достигает только часть отраженного света. Цвет диффузного рассеивания представляет основной цвет материала. В области тени (Ambient) объект освещается только рассеянным светом, который в 3ds max оп­ределяется подсветкой.

Выбирая цвет материала, необходимо ответить на следующие вопросы.

Какой у материала цветовой тон, т. е. какого собственно цвета (красного, зеленого или какого-либо другого)?

Какая у него насыщенность, т. е. как сильно окрашен отраженный свет? Высокая насыщенность делает цвета более глубокими, а меньшая насыщенность ведет к исключению цвета (переход к ахроматическим цветам).

Какова его яркость, т. е. как много света отражает материал? Этот параметр влияет также на характеристику зеркальности поверхности.

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

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

Коэффициент преломления определяет характер изменения света при прохождении им границы между двумя разными средами (обычно каким-нибудь материалом и воздухом), рисунок 51.

Эта характеристика влияет на силу бликовости материала или, в случае прозрачных материалов (например, воды или стекла), на величину искривления (преломления) формы объектов, находящихся сзади.

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

Использование текстурных карт (декоративных узоров) позволяет придать материалам дополнительную реалистичность (например, вид мощенной плиткой мостовой или портмоне из крокодиловой кожи).

В качестве карт могут быть использованы изображения, сохраненные в файлах различных форматов (BMP, TIF, JPG, EPS и некоторых других), либо процедурные текстуры, являющиеся наборами правил (процедурами) быстрого построения нужного узора. В том числе это может быть обычный текст (естественно в указанных форматах), рисунок 52.

Для точного управления текстурированием обычно требуется дополнительно указать способ проецирования ("переноса") текстуры на поверхность объекта и режим отображения на ней.

Основные способы проецирования текстур следующие:

Ортографический - когда текстура проецируется на плоскость, описанную тремя точками. Такой способ очень часто называют планарным (planar) проецированием;

цилиндрический - это своеобразное "заворачивание" объекта в текстуру, проецируемую на цилиндр, описанный двумя полюсами (верхним и нижним) и линией шва (соединения кромок текстуры);

сферический - способ, аналогичный предыдущему, но проецирование происходит на сферу, заданную верхним полюсом, центром и швом – рисунок 51;

UV-координатный - использует задаваемые в вершинах объекта параметрические координаты текстурирования поверхности. Применяется при текстурировании объектов со сложной топологией.

Рисунок 52

Возможны следующие режимы отображения текстуры:

черепичный - многократным повторением текстуры по поверхности;

зеркальный - с реверсивным переворотом текстуры при ее повторении;

с усечением - режим, при котором текстура не повторяется более одного раза на поверхности;

с увеличением - перекрытие всей поверхности объекта одной копией текстуры.

Системы сочленений - это структуры, состоящие из иерархически связанных "костей", описывающих сложную кинематику движения моделируемого объекта (например, человека). Обычно они применяются при использовании инверсной кинематики как метода манипулирования связанными структурами объектов. Оставаясь невидимыми при визуализации, они являются своеобразной арматурой (скелетом) анимируемого объекта или нескольких объектов.

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



Сейчас читают про: