Методы трехмерной графики.ppt
- Количество слайдов: 27
Компьютерная Графика Методы трехмерной графики
Модели описания поверхностей: 1. Аналитическая модель (основана на сплайнах) q график функции проходит через каждую точку из заданного набора т. е. q на каждом из отрезков i = 0, n функция S(x) является многочленом третьей степени q на всем отрезке функция имеет непрерывную первую и вторую производную «+» : несложный расчет координат точек поверхности, малый объем требуемой информации; «-» : расчеты, медленно считаются в ПК, форма описания неприменима для непосредственного отображения.
Модели описания поверхностей: 2. Векторная полигональная модель n n n вершины; отрезки прямых; полилинии; полигоны; полигональные поверхности; Элемент вершина – vertex – основной элемент описания, все остальные – производные от него.
Модели описания поверхностей: 3. Воксельная модель (понятие объемного растра) При моделировании объема каждый воксель представляет собой элемент объема определенного размера. Чем больше вокселей в определенном объеме, тем меньше их размер, тем качественнее моделирование. Проблема масштабирования растра!!!
Визуализация объемных изображений Способы визуализации по характеру изображений и по степени сложности на следующие уровни: n n n каркасная (проволочная) модель; показ поверхностей в виде многогранников с плоскими гранями или сплайнов с удалением невидимых точек; то же что и в п. 2, плюс сложное закрашивание объектов для имитации отражения света, прозрачности, использование текстур.
n 1111111
Показ с удалением невидимых точек n n сортировка граней по глубине; метод приоритетов; q q n метод художника; метод плавающего горизонта; метод Z-буфера;
Сортировка граней по глубине (проблема):
Метод Z-буфера n n Заполнить буфер кадра фоновым значением цвета. Заполнить Z -буфер минимальным значением z (глубины). Преобразовать изображаемые объекты в растровую форму в произвольном порядке. Для каждого объекта: q Для каждого пикселя (x, y) образа вычислить его глубину z(x, y). q Сравнить глубину z(x, y) со значением глубины, хранящимся в Z-буфере в этой же позиции. q Если z(x, y) > Z - буфер(x, y), то занести атрибуты пикселя в буфер кадра и заменить Z - буфер(x, y) на (x, y). В противном случае никаких действий не производить.
Модели отражения света Идеальная зеркальная поверхность Модель по Фонгу:
Модели отражения света Диффузное отражение Закон Ламберта:
Модели отражения света Пример: сферы – диффузные отражатели Учет диффузного и зеркального отражений: Учет фоновой подсветки изображения:
Освещение трехмерной сцены n n n рассеянный свет – «подсветка сцены» ; точечный источник – источник расположен на расстоянии много большем его размеров; неточечный источник; протяженный источник – моделируется как «сумма» точечных источников; направленный источник – любой из выше перечисленных, излучение ограничено заданным телесным углом или маской;
Модели закраски граней Однотонная закраска: n источник света расположен в бесконечности, поэтому произведение ( ) постоянно на всей полигональной грани. n наблюдатель находится в бесконечности, поэтому произведение ( ) постоянно на всей полигональной грани. n многоугольник представляет реальную моделируемую поверхность, а не является аппроксимацией криволинейной поверхности.
Модели закраски граней Метод Гуро: n Вычисляются нормали ко всем полигонам. n Определяются нормали в вершинах путем усреднения нормалей по всем полигональным граням, которым принадлежит вершина. n Используя нормали в вершинах и применяя произвольный метод закраски, вычисляются значения интенсивности в вершинах.
n Каждый многоугольник закрашивается путем линейной интерполяции значений интенсивностей в вершинах сначала вдоль каждого ребра, а затем и между ребрами вдоль каждой сканирующей строки.
Интерполяция интенсивностей в методе Гуро: Недостатки метода: n хорошо работает только с диффузной моделью отражения
Модели закраски граней Метод Фонга: n определяются нормали к граням. n по нормалям к граням определяются нормали в вершинах. n в каждой точке закрашиваемой грани определяется интерполированный вектор нормали: n по направлению векторов нормали определяется цвет точек грани в соответствии с выбранной моделью отражения света.
Рельефное текстурирование отражает реальное положение источника света в сцене и даже изменение его местоположения
Рельефное текстурирование Рельефная карта – текстура, несущая информацию о неровностях. Карта высот – это текстура в оттенках серого, где яркость каждого пикселя представляет, насколько он выдается из базовой поверхности.
Самый простой способ представления рельефа – карта высот Карта высот - это текстура в оттенках серого, где яркость каждого пикселя представляет, насколько он выдается из базовой поверхности.
Трассировка лучей Обратная трассировка
расчёт освещённости сцены с учётом положения источников света с параметрами яркости, цвета, направленности и положения объектов для расчёта теневых масок. n расчёт видимости граней объектов из точки наблюдения с учётом положения точки наблюдения и вида проецирования. n расчёт цветовых компонент по освещённости и цвету граней с учётом оптических свойств поверхности и среды для каждого пикселя картинной плоскости. Минусы: проблема при моделировании диффузного отражения, преломления; множество вычислений n
Плюсы: n Универсальность, применимость для различного рода сложных сцен; n Даже усеченные варианты метода дает достаточно хорошие изображения; n Все преобразования линейны поэтому просто работать с текстурами; n Для одного пикселя растрового изображения можно трассировать несколько близко идущих лучей, а потом усреднять их цвет для устранения ступенчатости; n Т. к. расчет каждой точки идет независимо от других, то возможно распараллеливание вычислений;


