Трехмерная графика

  • docx
  • 28.11.2021
Публикация на сайте для учителей

Публикация педагогических разработок

Бесплатное участие. Свидетельство автора сразу.
Мгновенные 10 документов в портфолио.

Иконка файла материала Л2-003130.docx

Трехмерная графика 

Построение трехмерного изображения

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

При формировании трехмерного изображения (статического или динамического) его построение рассматривается в пределах некоторого пространства координат, которое называется сценой. Сцена подразумевает работу в объемном, трехмерном мире — поэтому и направление получило название трехмерной (3-Dimensional, 3D) графики.

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

На следующем этапе “мировые” координаты узлов сетки пересчитывают с помощью матричных преобразований в координаты видовые, т.е. зависящие от точки зрения на сцену. Положение точки просмотра, как правило, называют положением камеры.

https://inf.1sept.ru/2007/16/6-0.gif

Рабочее пространство системы подготовки 
трехмерной графики Blender (пример с сайта 
http://www.blender.org)

После формирования каркаса (“проволочной сетки”) выполняется закрашивание — придание поверхностям объектов некоторых свойств. Свойства поверхности в первую очередь определяются ее световыми характеристиками: светимостью, отражающей способностью, поглощающей способностью и рассеивающей способностью. Этот набор характеристик позволяет определить материал, поверхность которого моделируется (металл, пластик, стекло и т.п.). Прозрачные и полупрозрачные материалы обладают еще рядом характеристик.

Как правило, во время выполнения этой процедуры выполняется и отсечение невидимых поверхностей. Существует много методов выполнения такого отсечения, но самым популярным стал метод 
Z-буфера
, когда создается массив чисел, обозначающий “глубину” — расстояние от точки на экране до первой непрозрачной точки. Следующие точки поверхности будут обработаны только тогда, когда их глубина будет меньше, и тогда координата Z уменьшится. Мощность этого метода напрямую зависит от максимально возможного значения удаленности точки сцены от экрана, т.е. от количества битов на точку в буфере.

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

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

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

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

Второй метод — метод излучательности — предусматривает расчет интегральной светимости всех участков, попадающих в кадр, и обмен светом между ними.

На полученном изображении учитываются заданные характеристики камеры, т.е. средства просмотра.

Таким образом, в результате большого количества вычислений появляется возможность создавать изображения, трудноотличимые от фотографий. Для уменьшения количества вычислений стараются уменьшить число объектов и там, где это возможно, заменить расчет фотографией; например, при формировании фона изображения.

https://inf.1sept.ru/2007/16/6-1.gif

Твердотельная модель и итоговый результат обсчета модели (пример с сайта http://www.blender.org)

Анимация и виртуальная реальность

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

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

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

Такое направление, с учетом применения всевозможных аппаратных средств передачи воздействий внешнего мира и повышения эффекта присутствия, получило название виртуальной реальности.

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

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

Появились и стандартизируются интерфейсы работы с “физической” составляющей формирования изображения — что позволяет повысить скорость и точность таких расчетов, а значит, и реалистичность создаваемой модели мира.

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

Примеры программных продуктов

Maya, 3DStudio, Blender

 


 

Скачано с www.znanio.ru