Основы трехмерного моделирования
Трёхмерная графика (3D Graphics, Три измерения изображения) — раздел компьютерной графики, совокупность приемов и инструментов (как программных, так и аппаратных), предназначенных для изображения объёмных объектов.
Трёхмерное изображение на плоскости отличается от двумерного тем, что включает построение геометрической проекции трёхмерной модели сцены на плоскость (например, экран компьютера) с помощью специализированных программ (однако, с созданием и внедрением 3D-дисплеев и 3D-принтеров, трёхмерная графика не обязательно включает в себя проецирование на плоскость). При этом модель может как соответствовать объектам из реального мира (автомобили, здания, ураган, астероид), так и быть полностью абстрактной (проекция четырёхмерного фрактала).
Трёхмерная графика активно применяется для создания изображений на плоскости экрана или листа печатной продукции в науке и промышленности, например в системах автоматизации проектных работ (САПР; для создания твердотельных элементов: зданий, деталей машин, механизмов), архитектурной визуализации (сюда относится и так называемая «виртуальная археология»), в современных системах медицинской визуализации.
Самое широкое применение — во многих современных компьютерных играх. Также как элемент кинематографа, телевидения, печатной продукции.
Трёхмерная графика обычно имеет дело с виртуальным, воображаемым трёхмерным пространством, которое отображается на плоской, двухмерной поверхности дисплея или листа бумаги. В настоящее время известно несколько способов отображения трехмерной информации в объемном виде, хотя большинство из них представляет объёмные характеристики весьма условно, поскольку работают со стереоизображением. Из этой области можно отметить стереоочки, виртуальные шлемы, 3D-дисплеи, способные демонстрировать трехмерное изображение. Несколько производителей продемонстрировали готовые к серийному производству трёхмерные дисплеи[1]. Однако и 3D-дисплеи по-прежнему не позволяют создавать полноценной физической, осязаемой копии математической модели, создаваемой методами трехмерной графики. Развивающиеся с 1990-х годов технологии быстрого прототипирования ликвидируют этот пробел. Следует заметить, что в технологиях быстрого прототипирования используется представление математической модели объекта в виде твердого тела (воксельная модель).
Для получения трёхмерного изображения на плоскости требуются следующие шаги:
· Моделирование — создание трёхмерной математической модели сцены и объектов в ней;
· Текстурирование — назначение поверхностям моделей растровых или процедурных текстур (подразумевает также настройку свойств материалов — прозрачность, отражения, шероховатость и пр.);
· Освещение — установка и настройка источников света;
· Анимация (в некоторых случаях) — придание движения объектам;
· Динамическая симуляция (в некоторых случаях) — автоматический расчёт взаимодействия частиц, твёрдых/мягких тел и пр. с моделируемыми силами гравитации, ветра, выталкивания и др., а также друг с другом;
· Рендеринг (визуализация) — построение проекции в соответствии с выбранной физической моделью;
· вывод полученного изображения на устройство вывода — дисплей или принтер.
Моделирование
Моделирование сцены (виртуального пространства моделирования) включает в себя несколько категорий объектов:
· Геометрия (построенная с помощью различных техник (напр., создание полигональной сетки) модель, например здание);
· Материалы (информация о визуальных свойствах модели, например цвет стен и отражающая/преломляющая способность окон);
· Источники света (настройки направления, мощности, спектра освещения);
· Виртуальные камеры (выбор точки и угла построения проекции);
· Силы и воздействия (настройки динамических искажений объектов, применяется в основном в анимации);
· Дополнительные эффекты (объекты, имитирующие атмосферные явления: свет в тумане, облака, пламя и пр.)
Задача трёхмерного моделирования — описать эти объекты и разместить их в сцене с помощью геометрических преобразований в соответствии с требованиями к будущему изображению.
Назначение материалов: для сенсора реальной фотокамеры материалы объектов реального мира отличаются по признаку того, как они отражают, пропускают и рассеивают свет; виртуальным материалам задается соответствие свойств реальных материалов — прозрачность, отражения, рассеивания света, шероховатость, рельеф и пр.
Наиболее популярными пакетами сугубо для моделирования являются:
· Pixologic Zbrush;
· Autodesk Mudbox;
· Robert McNeel & Assoc. Rhinoceros 3D;
· Google SketchUp.
Для создания трехмерной модели человека или существа может быть использована, как прообраз (в большинстве случаев) Скульптура.
Текстурирование
Текстурирование подразумевает проецирование растровых или процедурных текстур на поверхности трехмерного объекта в соответствии с картой UV-координат, где каждой вершине объекта ставится в соответствие определенная координата на двухмерном пространстве текстуры.
Как правило, многофункциональные редакторы UV-координат входят в состав универсальных пакетов трехмерной графики. Существуют также автономные и подключаемые редакторы от независимых разработчиков, например Unfold3D magic, Deep UV, Unwrella и др.
Освещение
Заключается в создании, направлении и настройке виртуальных источников света. При этом, в виртуальном мире источники света могут иметь негативную интенсивность, отбирая свет из зоны своего "отрицательного освещения". Как правило, пакеты 3D графики предоставляют следующие типы источников освещения:
· Omni light (Point light) — всенаправленный
· Spot light — конический (прожектор), источник расходящихся лучей
· Directional light — источник параллельных лучей
· Area light (Plane light) — световой портал, излучающий свет из плоскости
· Photometric — источники света, моделируемые по параметрам яркости свечения в физически измеримых единицах, с заданной температурой накала
Существуют также другие типы источников света, отличающиеся по своему функциональному предназначению в разных программах трехмерной графики и визуализации. некоторые пакеты предоставляют возможности создавать источники объемного свечения (Sphere light) или объемного освещения (Volume light), в пределах строго заданного объёма. Некоторые предоставляют возможность использовать геометрические объекты произвольной формы.
Анимация
Одно из главных призваний трехмерной графики — придание движения (анимация) трехмерной модели, либо имитация движения среди трехмерных объектов. Универсальные пакеты трехмерной графики обладают весьма богатыми возможностями по созданию анимации. Существуют также узкоспециализированные программы, созданные сугубо для анимации и обладающие очень ограниченным набором инструментов моделирования:
· Autodesk Motionbuilder
· PMG Messiah Studio
Рендеринг
На этом этапе математическая (векторная) пространственная модель превращается в плоскую (растровую) картинку. Если требуется создать фильм, то рендерится последовательность таких картинок — кадров. Как структура данных, изображение на экране представлено матрицей точек, где каждая точка определена по крайней мере тремя числами: интенсивностью красного, синего и зелёного цвета. Таким образом рендеринг преобразует трёхмерную векторную структуру данных в плоскую матрицу пикселов. Этот шаг часто требует очень сложных вычислений, особенно если требуется создать иллюзию реальности. Самый простой вид рендеринга — это построить контуры моделей на экране компьютера с помощью проекции, как показано выше. Обычно этого недостаточно и нужно создать иллюзию материалов, из которых изготовлены объекты, а также рассчитать искажения этих объектов за счёт прозрачных сред (например, жидкости в стакане).
Существует несколько технологий рендеринга, часто комбинируемых вместе. Например:
· Z-буфер (используется в OpenGL и DirectX 10);
· Сканлайн (scanline) — он же Ray casting («бросание луча», упрощенный алгоритм обратной трассировки лучей) — расчёт цвета каждой точки картинки построением луча из точки зрения наблюдателя через воображаемое отверстие в экране на месте этого пиксела «в сцену» до пересечения с первой поверхностью. Цвет пиксела будет таким же, как цвет этой поверхности (иногда с учётом освещения и т. д.);
· Трассировка лучей (рейтрейсинг, англ. raytracing) — то же, что и сканлайн, но цвет пиксела уточняется за счёт построения дополнительных лучей (отражённых, преломлённых и т. д.) от точки пересечения луча взгляда. Несмотря на название, применяется только обратная трассировка лучей (то есть как раз от наблюдателя к источнику света), прямая крайне неэффективна и потребляет слишком много ресурсов для получения качественной картинки;
· Глобальное освещение (англ. global illumination, radiosity) — расчёт взаимодействия поверхностей и сред в видимом спектре излучения с помощью интегральных уравнений.
Грань между алгоритмами трассировки лучей в настоящее время практически стёрлась. Так, в 3D Studio Max стандартный визуализатор называется Default scanline renderer, но он считает не только вклад диффузного, отражённого и собственного (цвета самосвечения) света, но и сглаженные тени. По этой причине, чаще понятие Raycasting относится к обратной трассировке лучей, а Raytracing — к прямой.
Дата добавления: 2016-09-26; просмотров: 10142;