Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Компьютерная графика.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
2.59 Mб
Скачать

7.3. Моделирование объектов

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

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

Основные типы объектов и технологии их моделирования рассмотрены на примере пакета 3D Studio МАХ компании Discreet.

Ниже приведен краткий перечень типов геометрических объектов, которые могут быть созданы в этой программе.

• Сплайновые кривые (spline curves) - рис. 13 - это смоделированные таким образом кривые (Безье или NURBS), что они могут служить заготовками для построения поверхностей (экструзии, тела вращения или лофтинга) или их можно использовать в качестве траектории движения.

Рис. 13. Сплайновые кривые

  • Полигональные объекты (polygonal objects) -

рис. 14 - это полигональные примитивы (polyg­onal primitives), описываемые наборами динамически изменяемых параметров (например, длин, радиусов) или полигональные сетки (polygonal meshes), определяемые как наборы граней (faces), ограниченных ребрами (edges), попарно соединяющими вершины (vertices).

Рис. 14. Полигональные объекты

П оверхности Безье (Bezier patches) - рис. 15 - это математически гладкие поверхности, описываемые расположением вершин Безье. Эти вершины определяют их кривизну при помощи дополнительных управляющих точек (control points) на концах касательных к поверхности векторов (tangent vectors). Подобные поверхности требуют большей нагрузки для вычислительной системы, зато позволяют моделировать сложные криволинейные (например, даже органические) формы объектов

Рис. 15. Поверхность Безье

NURBS-поверхности (Non-Uniform Rational B-splines surfaces) - рис. 16 - это наиболее универсальный и эффективный способ моделирования неоднородных криволинейных поверхностей. Такие поверхности описываются в особом четырехмерном гомогенном (однородном) пространстве (homogeneous space), в котором каждая управляющая вершина (control vertex), кроме трех координат х,у и z, имеет еще и дополнительную весовую (weight) характеристику. Изменяя положение и относительный вес вершины, можно предельно точно управлять формой объекта.

Рис. 16. NURBS - поверхность

  • Составные объекты (compaund objects) - рис. 17 представляют собой комбинацию двух или более смоделированных заранее заготовок. В зависимости от того, какое именно составное тело создается, заготовками могут служить кривые или объемы (поверхности). Типичными примерами составных объектов служат: лофт-объекты (loft objects) - тела, построенные по сплайно- вым сечениям; булевы объекты (boolean objects) - результаты булевских операций (объединения, вычитания или пересечения)между объемами; морф-объекты (morph objects) - анимационные объекты, изменяющие свою форму за счет интерполяции положения вершин поверхности между базовым (base) и целевыми (target) объектами.

Рис. 17. Составные объекты

  • Системы частиц (particle systems) - рис. 18 - это объ- екты-эмиттеры (emitters), генерирующие по заданному алгоритму частицы с определенной формой, начальной скоростью, сроком «жизни» и другими характеристиками. Такие анимационные объекты используются для моделирования дождя, пузырьков газа в жидкости, осколков взрывающихся снарядов и тому подобных образцов объективной реальности.

Рис. 18. Система частиц

Динамические объекты (dynamics objects) - рис. 19 позволяют моделировать объекты, реагирующие на приложенные к ним внешние силы: пружины (springs) и амортизаторы (dampers). Используются при моделировании динамики движения объектов, когда пружина, например, сама растягивается под воздействием подвешенного на ней груза.

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

Рис. 19. Динамически объекты

Продолжая рассматривать в качестве примера программу 3D Studio МАХ, кратко рассмотрим основные типы негеометричес­ких объектов.

  • Источники света (light objects) - рис. 20 - используются при моделировании наружного (exterior) и интерьерного (interior) освещения. Различные типы источников реализуют различные алгоритмы распространения света: всенаправленные лучи из точечного источника (omni light); сфокусированный луч из прожекторного источника (spotlight); параллельные лучи из направленного источника (direct light). При этом испускаемый источниками свет может быть по-разному окрашен (light color), он может затухать на определенном расстоянии (attenuation),а также порождать тени от объектов (shadows). К сожалению, большинство 3D-nporpaмм (и 3D Studio МАХ здесь не исключение) не моделируют корректно рассеянный свет (ambient light), что напрямую сказывается на фотореалистичности итоговой визуализации.

Рис. 20. Источник освещения

  • Камеры (cameras) позволяют полностью контролировать отображение объектов в плоскости кадра (рис. 21). Важнейшей характеристикой является фокусное расстояние объектива камеры (focal length), определяющее ее поле зрения (field of view - F0V).06a этих параметра взаимосвязаны и измеряются в милли­метрах и градусах соответственно. Еще одной важной характерис-тикой камеры являются плоскости отсечения (clipping planes),ограничивающие видимую по глубине (расстоянию от наблюдателя) часть сцены.

рис. 21. Пример установки камеры

• Системы сочленений (bones systems) - рис. 22 - это структуры, состоящие из иерархически связанных «костей», описывающих сложную кинематику движения (kinematics) моделируемого объекта (например, человека). Обычно они применяются при использовании инверсной кинематики (inverse kinematics - IK) как метода манипулирования связанными структурами объектов. Оставаясь невидимыми при визуализации, они являются своеобразной арматурой (скелетом) анимируемого объекта или нескольких объектов.

Рис. 22. Пример сочленений

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

Рис. 23. Искривитель пространства