русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

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


Дата добавления: 2013-12-23; просмотров: 1216; Нарушение авторских прав


Рисунок 41

Рисунок 39

Рисунок 38

 

Постоянные ГО могут быть сформированы с использованием графического редактора, например, Автокад. Но тот же Автокад позволяет создавать и параметрически заданные ГО с помощью встроенных языков. На сегодняшний день это AutoLISP и VisualLISP. А последняя версия AutoCAD 2007 (2008), как отмечалось ранее, позволяет создавать трехмерные параметрические объекты.

 

 

 

8.5. Средства трехмерной графики

 

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

Другим способом является операция Выдавливания контура вдоль указанного пути, рисунок 40. На рисунке 40а показано выдавливание с указанием только высоты выдавливания. На рисунке 40б добавлено указание угла сужения, а на рисунке 40в – угла расширения. Рисунок 40г показывает выдавливание вдоль пути.

При создании определенных тел можно использовать операцию Вращение. На рисунке 41а модель образована полным вращением контура, а на рисунке 41б угол вращения 270. Некоторые графические пакеты позволяют перемещать и поворачивать отдельные грани модели. На рисунке 42а произведена операция выдавливания двух граней, а на рисунке 42б операция переноса грани. На рисунке 43а показано применение команды Поворот грани. Рисунок 43б иллюстрирует команду Сведение граней к конусу. Такие операции используются в пакетах AutoCAD, 3ds max, Solid Works и других.

Большие возможности предоставляет операция Лофтинг. Операция состоит в том, что сначала создаются опорные контуры, причем, обязательно замкнутые. Контуры располагаются в трехмерном пространстве в соответствии с творческими задачами. Затем указываются эти контуры, создавая путь, вдоль которого будет, производится своеобразное выдавливание – Лофтинг. Таким образом, Лофтинг это выдавливание переменного контура вдоль некоторого пути, рисунок 44.



 

 

а

б

в

 

г

Рисунок 40

а б

 

 

а б

Рисунок 42

 

Более сложные трехмерные модели создаются с использованием полигональных сеток (AutoCAD), NURBS-поверхностей и NURMS-поверхностей (3ds max, Maya, Rhinoceros).

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

 

а б

Рисунок 43

 

Рисунок 44

 

 

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

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

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

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

Реже, но все же достаточно часто, используются две другие системы координат: полярная цилиндрическая система координат (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. На рисунке 45а - представлено фоновое (стандартное освещение по умолчанию), на рисунке 45б точечный источник, на рисунке 45в установлен прожекторный источник target spot, на следующем - target direct – у него более четкие границы освещенной области.

 

 

а б

 

в г

Рисунок 45

 

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

 

 

а б

Рисунок 46

 

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

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

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

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

 

а б

Рисунок 47

 

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

 

 

Рисунок 48

 

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

Рисунок 49

 

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

 

 

Рисунок 50

 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 

 

Рисунок 51

 

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

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

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

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

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

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

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

 

 



<== предыдущая лекция | следующая лекция ==>
В чистом виде цвет не существует. | Алгоритмы вычерчивания отрезков.


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.008 сек.