Курсовая работа: Построение реалистичного изображения методом обратной трассировки лучей

Принцип работы алгоритма.

1. Из проверяемой точки строится луч, направленный на источник света.

2. Производится поиск пересечений этого луча с примитивами сцены между проверяемой точкой и источником.

3. Если найдено хотя бы одно пересечение, то проверяемая точка находится в тени. При расчете ее цвета источник, для которого проводилась проверка, не учитывается.

4. Если пересечений не найдено, точка не в тени. При расчете ее цвета учитываем проверяемый источник.

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

РЕАЛИСТИЧНЫЕ ТЕНИ

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


Алгоритм работает следующим образом.

1. Из проверяемой точки строится луч, направленный на источник света.

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

3. Массив пересечений сортируется по возрастанию расстояния от проверяемой точки до точки пересечения. При этом абсолютно аналогичные операции проводятся и со вторым массивом.

4. Если в массив не была добавлена ни одна точка кроме начальной, то проверяемая точка не затенена. Берется полная интенсивность источника. В противном случае начинаем проход массива со второй точки по всем точкам.

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

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

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

Математические и физические предпосылки алгоритма обратной трассировки лучей

Освещение

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

I(l)=Ka*Ia(l)C(l) + Kd*Id(l)*C(l) +Ks*Is(l) + Kr*Ir(l) +Kt*It(l),

где l – длина волны, C(l) – заданный исходный цвет точки объекта, Ka, Kd, Ks, Kr и Kt – коэффициенты, учитывающие свойства конкретного объекта параметрами фоновой интенсивности, диффузного рассеивания, зеркальности, отражения и прозрачности.

Ia – интенсивность фоновой подсветки,

Id – интенсивность, учитываемая для диффузного рассеивания,

Is – интенсивность, учитываемая для зеркальности,

Ir – интенсивность излучения, пришедшая по отраженному лучу,

It – интенсивность излучения, пришедшая по преломленному лучу.

Интенсивность фоновой подсветки (Ia) для некоторого объекта обычно константа. Запишем формулы для остальных интенсивностей.

Для диффузного отражения:

Id=∑I(l)cosӨ,

К-во Просмотров: 337
Бесплатно скачать Курсовая работа: Построение реалистичного изображения методом обратной трассировки лучей