Просмотры

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

Материал из Wiki

(Перенаправлено с 3D)
Перейти к: навигация, поиск
Схема проецирования сцены на экран компьютера
Схема проецирования сцены на экран компьютера
Пример 3D графики
Пример 3D графики

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

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

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

Для получения трёхмерного изображения требуются следующие шаги:

  • моделирование — создание математической модели сцены и объектов в ней.
  • рендеринг — построение проекции в соответствии с выбранной физической моделью.

Содержание

Моделирование

Сцена (виртуальное пространство моделирования) включает в себя несколько категорий объектов:

  • Геометрия (построенная с помощью различных техник модель, например здание)
  • Материалы (информация о визуальных свойствах модели, например цвет стен и отражающая/преломляющая способность окон)
  • Источники света (настройки направления, мощности, спектра освещения)
  • Виртуальные камеры (выбор точки и угла построения проекции)
  • Силы и воздействия (настройки динамических искажений объектов, применяется в основном в анимации)
  • Дополнительные эффекты (объекты, имитирующие атмосферные явления: свет в тумане, облака, пламя и пр.)

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

Рендеринг

Основная статья: Рендеринг

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

  • Z-буфер (используется в OpenGL и DirectX);
  • сканлайн (scanline) — расчёт цвета каждой точки картинки построением луча из точки зрения наблюдателя через воображаемое отверстие в экране на месте этого пиксела «в сцену» до пересечения с первой поверхностью. Цвет пиксела будет таким же, как цвет этой поверхности.;
  • Трассировка лучей (рейтрейсинг, англ. raytracing) — то же, что и сканлайн, но цвет пиксела уточняется за счёт построения дополнительных лучей (отражённых, преломлённых и т. д.) от точки пересечения луча взгляда;
  • глобальная иллюминация (англ. global illumination, radiosity) — расчёт взаимодействия поверхностей и сред в видимом спектре излучения с помощью интегральных уравнений

и другие.

Наиболее популярными системами рендеринга можно назвать:

Самые передовые достижения и идеи трёхмерной графики (и компьютерной графики вообще) докладываются и обсуждаются на ежегодном симпозиуме SIGGRAPH, традиционно проводимом в США.

Программное обеспечение

Программные пакеты, позволяющие производить трёхмерную графику, то есть моделировать объекты виртуальной реальности и создавать на основе этих моделей изображения, очень разнообразны. Последние годы устойчивыми лидерами в этой области являются коммерческие продукты: такие как Autodesk 3ds Max, Maya, Newtek Lightwave, SoftImage XSI и сравнительно новые Rhinoceros 3D, Cinema 4D или ZBrush. Кроме того, уверенно набирают популярность и открытые продукты, распространяемые свободно, например, полнофункциональный пакет Blender (позволяет и производство моделей, и последующий рендеринг) и Wings3D (только создание моделей с возможностью последующего использования их другими программами).

Связь с физическим представлением трехмерных объектов

Трёхмерная графика обычно имеет дело с виртуальным, воображаемым трёхмерным пространством, которое отображается на плоской, двухмерной поверхности дисплея или листа бумаги. В настоящее время известно несколько способов отображения трехмерной информации в объемном виде, хотя большинство из них представляет объемные характеристики весьма условно, поскольку работают со стереоизображением. Из этой области можно отметить стереоочки, витруальные шлемы, 3D−дисплеи, способне демонстрировать трехмерное изображение. Несколько производителей продемонстрировали готовые к серийному производству трехмерные дисплеи. Но чтобы насладиться объемной картинкой, зрителю необходимо расположиться строго по центру. Шаг вправо, шаг влево, равно как и неосторожный поворот головы, карается превращением трехмерности в несимпатичное зазубренное изображение. Решение этой проблемы уже созрело в научных лабораториях. Германский Институт Фраунгофера демонстрировал 3D−дисплей, при помощи двух камер отслеживающий положение глаз зрителя и соответствующим образом подстраивающий изображение, в этом году пошел еще дальше. Теперь отслеживается положение не только глаз, но и пальца, которым можно «нажимать» трехмерные кнопки. Таким образом, становится возможным не только видеть объемную картинку, но и взаимодействовать с изображенными на ней предметами.

Однако и 3D-дисплеи по-прежнему не позволяют создавать физической, осязаемой копии математической модели, создаваемой методами трехмерной графики.

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

Трёхмерное телевидение

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

Одна из первых фотографий экрана 3d телевизора
Одна из первых фотографий экрана 3d телевизора
Экран 3d телевизора
Экран 3d телевизора

Ссылки


См. также

Литература

  • Дж. Ли, Б. Уэр. Трехмерная графика и анимация. 2-е изд. — М.: «Вильямс», 2002. — 640 стр.
  • Д. Херн, М. П. Бейкер. Компьютерная графика и стандарт OpenGL. 3-е изд. — М.: «Вильямс», 2005. — 1168 стр.
  • Э. Энджел. Интерактивная компьютерная графика. Вводный курс на базе OpenGL. 2-е изд. — М.: «Вильямс», 2001. — 592 стр.
  • Г. Снук. 3D-ландшафты в реальном времени на C++ и DirectX 9. 2-е изд. — М.: «Кудиц-пресс», 2007. — 368 с. ISBN 5-9579-0090-7.
  • В. П. Иванов, А. С. Батраков. Трёхмерная компьютерная графика. Под ред. Г. М. Полищука. — М.: «Радио и связь», 1995. — 224 с. ISBN 5-256-01204-5.
 Rambler's Top100