- •1 Аксонометрические проекции. Изометрия, диметрия, триметрия
- •2 Алгоритмы разложения в растр отрезка прямой линии и окружности
- •4 Использование методов порталов и иерархических подсцен при создании виртуальной реальности. Метод порталов
- •5 Классификация цветовых моделей и форматов компьютерной графики
- •6 Колориметрия. Цветовые модели, смешение цветов и законы Гроссмана
- •7 Математическая модель и виды перспективного проецирования
- •8 Методы геометрического моделирования
- •9 Моделирование кривых и поверхностей в форме Безье
- •10 Моделирование кривых и поверхностей в форме Эрмита
- •11. Моделирование прозрачности и теней при построении реалистических изображений
- •12. Моделирование трехмерных поверхностей порциями поверхностей Кунса
- •13 Моделирование фотореалистичных изображений при помощи метода излучательности
- •14. Построение реалистических изображений методом Торренсанса-Сперроу
- •15. Построение реалистичных изображений. Формула закраски
- •16. Преобразования на плоскости и в пространстве. Система однородных координат
- •17. Развертка сплошных областей. Алгоритмы построчной развертки и заполнения с затравкой.
- •18. Сплайновая модель пространственных кривых и поверхностей
- •19. Формирование изображений трехмерного пространства методом отсечения лучей.
- •20. Формирование изображений трехмерного пространства при помощи алгоритмов, основанных на построении bsp-деревьев
- •Алгоритмы двоичного разбиения пространства
- •21. Формирование окраски методом Гуро
- •22. Формирование окраски методом Фонга
- •23. Формирование реалистических изображений методом трассировки лучей
- •24. Цветовые модели, ориентированные на аппаратуру и восприятие человеком
- •2. Аппаратно-ориентированные модели
- •2. Модели ориентированные на человека
- •25. Цветовые форматы и стандарты мко
11. Моделирование прозрачности и теней при построении реалистических изображений
Моделирование прозрачности
Для получения наиболее реалистичных изображений кроме отраженного света необходимо учитывать его преломление различными прозрачными и полупрозрачными объектами и средами. При этом необходимо учитывать соотношение, определяемое законом Снелиуса:
где η1, η2 – показатели преломления двух сред; φ – угол падения; ψ – угол преломления.
Падающий и преломленный лучи должны находится в одной плоскости. Ни одно из прозрачных веществ или сред не пропускает свет полностью, т.е. при наличие эффекта преломления обязательно будет происходить частичное отражение светового потока.
Преломление света бывает двух видов:
• направленное (зеркальное);
• диффузное.
Направленное преломление характерно для прозрачных веществ и сред. При этом искажения возникают только за счет криволинейной поверхности объекта или возмущений поверхности среды.
Диффузное преломление учитывает рассеивание световой энергии при прохождении света через вещество. При этом возникает эффект полупрозрачности или матового изображения. Формулы моделирования прозрачности объектов и сред являются составной частью алгоритмов отсечения невидимых поверхностей. В простейшем случае, при обработке 3D прозрачная поверхность рассчитывается как линейная комбинация с находящейся за ней поверхностью:
I=I1t1+I2(1-t)
где I1, I2 – интенсивности отраженного света соответственно прозрачной поверхности и поверхности, находящейся за ней; t – определяет степень прозрачности и находится в интервале [0;1]. При t=0 моделируется максимальная прозрачность рассматриваемого объекта. А при t=1 объект, находящийся на первом плане полностью не прозрачен. Изменяя величину параметра t в ходе 3D-моделирования можно, для достижения максимальной демонстративности, добиваться удаления поверхности.
Кроме того, это соотношение можно применять рекурсивно, моделируя таким образом ряд прозрачных объектов, находящихся один за другим.
Для моделирования объектов и поверхностей, имеющих сложные криволинейные формы, моделирование прозрачности при помощи линейной комбинации будет создавать нереалистичный эффект. Поэтому для таких объектов используется нелинейная аппроксимация по следующей формуле:
где tmin, tmax – предельные значения прозрачности объектов; nz – проекция нормали к поверхности на ось OZ; P – коэффициент, определяющий кривизну поверхности.
В результате применения этого соотношения прозрачность пикселя t будет меняться в зависимости от расположения этого пикселя на поверхности.
В практике 3D-моделирования достаточно часто используются алгоритмы, работающие на основе Z-буфера (буфер глубины). Но в этой группе алгоритмов напрямую не возможно использовать многосветовые эффекты, в том числе эффект моделирования прозрачности.
Это объясняется тем, что данные алгоритмы сохраняют z координаты только для ближайших к наблюдателю объектов.
Чтобы устранить этот недостаток, в алгоритмах с Z-буфером формируется специальный буфер прозрачности. Кроме того, в более сложные алгоритмы могут дополняться дополнительными буферами интенсивности и коэффициентов преломления.
Моделирование теней
Тени на объектах сцены наблюдаются в том случае, если положение источника света и наблюдателя не совпадают. Тень состоит из двух частей:
• полной тени;
• полутени.
Полная тень – это темная, резко ограниченная область, которая создается точечным источником света.
Полутень – это тень, которая создается распределенным источником света, имеющим конечный размер. Она охватывает полную тень по периметру, образуя размытые края.
Объем вычислений при расчете теней, кроме всего прочего, зависит от расположения источников света. Возможны три варианта расположения:
1) источник света расположен в бесконечности, при этом направление лучей света, по которым просчитываются тени, соответствует ортогональному проецированию, т.е. простейшему виду проецирования, а это определяет минимальные затраты на вычисление теней в данном случае;
2) источник света находится на конечном расстоянии вне поля зрения наблюдателя (камеры); в этом случае отслеживание лучей совпадает с перспективным проецированием, что увеличивает вычислительные затраты;
3) источник света находится на конечном расстоянии и попадает в поле зрения наблюдателя; этот случай аналогичен предыдущему, но требует дополнительных затрат на деление сцены по секторам и индивидуальный просчет.
При построении теней выполняется операция, реализующаяся за два шага:
1) построение тени в 3D-виде или относительно источника;
2) построение тени в двумерном виде или относительно наблюдателя.
При этом можно выделить собственные тени объектов и тени проекционные, образуемые на поверхности объекта другими объектами сцены.
Алгоритм построения собственных теней аналогичен удалению невидимых поверхностей. А алгоритм построения проекционных теней сводится к построению проекции всех не лицевых граней объектов на сцену. Центр проекции – источник света. При перемещении наблюдателя не надо выполнять пересчет теней, т.к. их положение в 3D сцене зависит от положения источника света.