Помощь в написании студенческих работ
Антистрессовый сервис

Расчет освещенности. 
Компьютерная графика

РефератПомощь в написанииУзнать стоимостьмоей работы

Для учета бликов в модель освещенности обычно добавляют специальную, бликовую компоненту. Есть несколько приближенных моделей, описывающих эту компоненту, и наиболее распространенными моделями являются модели Фонга и Блинна — Фонга. Согласно модели Фонга бликовая освещенность определяется как /утах (0,(г, 1))р. Через /'обозначается результат отражения вектора / относительно нормали п. Если все… Читать ещё >

Расчет освещенности. Компьютерная графика (реферат, курсовая, диплом, контрольная)

Рассмотрим точку Р на плоскости, освещенную точечным источником света. В этой точке можно определить единичный вектор /, направленный на источник света. Также можно определить в этой точке единичный вектор направленный на наблюдателя (камеру), и единичный вектор внешней нормали п (рис. 7.19).

Векторы, используемые при вычислении освещения.

Рис. 7.19. Векторы, используемые при вычислении освещения.

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

Простейшая модель освещения в точке (видимой вдоль направления v) разбивает эту освещенность на несколько компонент. Одной из них является диффузная освещенность. Она соответствует случаю, когда падающий в точку Р свет равномерно рассеивается во все стороны в положительном полупространстве. Тогда видимый в точке Р свет будет прямо пропорционален плотности падающей в этой точке световой энергии, а эта плотность, в свою очередь, пропорциональна яркости источника света и косинусу угла падения света. Последний может быть выражен через скалярное произведение (п, /). Цвет, видимый в этой точке, определяется цветом источника света и цветом в самой точке Р. Соответственно, диффузная освещенность может быть выражена следующей формулой (функция max используется для того, чтобы не получить «отрицательного» света в точке, когда источник светит «снизу»): IjCmax (0, (п, /)). Как видно из этой формулы, диффузная освещенность не зависит от того, откуда мы смотрим на освещаемую точку. Однако в реальности мы часто наблюдаем блики на поверхности гладких объектов. При этом яркость блика (и само его наличие) зависит от того, откуда мы смотрим, и обычно почти не зависит от цвета поверхности в точке.

Для учета бликов в модель освещенности обычно добавляют специальную, бликовую компоненту. Есть несколько приближенных моделей, описывающих эту компоненту, и наиболее распространенными моделями являются модели Фонга и Блинна — Фонга. Согласно модели Фонга бликовая освещенность определяется как /утах (0,(г, 1))р. Через /'обозначается результат отражения вектора / относительно нормали п. Если все используемые векторы единичные, то отраженный вектор можно найти по формуле Расчет освещенности. Компьютерная графика.

Степень р определяет гладкость поверхности в точке: чем она больше, тем более гладкой является поверхность и более контрастным будет блик.

В модели Блинна — Фонга яркость блика определяется как /;шах (0, (/?, /г))1'. Здесь вектор /? — это бисектор векторов / и v (рис. 7.20).

Расчет освещенности. Компьютерная графика.

Для нахождения этого вектора можно воспользоваться следующей формулой:

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

Вектор h.

Рис. 7.20. Вектор h.

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

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

В результате мы приходим к следующей формуле (для бликов по Влипну — Фонгу):

Расчет освещенности. Компьютерная графика.

где ka, k(j и ks — скалярные коэффициенты, определяющие вклад рассеянного, диффузного и бликового освещения соответственно. Цвет С поверхности в точке и цвет Ij источника света являются /?(7В-векторами, как и цвет фоновой освещенности 1а.

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

Далее рассмотрим бесконечно малую площадку dA с заданным вектором нормали п, на которую падает свет (рис. 7.21). Яркость данной площадки — это мощность, падающая на единицу площади, измеряемая в Вт/м2.

Теперь опишем падающий евет с учетом направления, откуда он падает. Помимо вектора п рассмотрим также некоторое направление со и бесконечно малый телесный угол с/со. Обратите внимание, что телесный угол измеряется в стерадианах (sr).

Освещаемая площадка.

Рис. 7.21. Освещаемая площадка

Через этот телесный угол на площадку dA падает свет, имеющий некоторую бесконечно малую мощность с!Ф. Рассмотрим теперь плоскость, перпендикулярную направлению со, и спроектируем площадку dA на эту плоскость. В результате получим площадку с площадью dAprop на которую свет падает под прямым углом. Исходная площадь dA и площадь dApwj связаны через косинус угла 0 между нормалью п и направлением со по формуле.

Расчет освещенности. Компьютерная графика.

На обе эти площадки падает один и тот же световой поток, однако поскольку их площади отличаются в cos 0, то и их яркости будут отличаться в cos 0 раз.

Расчет освещенности. Компьютерная графика.

Для описания плотности потока световой энергии относительно угла и площади, на которую падает этот поток, можно ввести понятие энергетической яркости (radiance), определяемой с помощью формулы.

w

Эта величина имеет размерность-j и описывает плотность.

sr-m

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

Расчет освещенности. Компьютерная графика.

Далее пусть у нас есть направление со, (с соответствующим телесным углом cico,), откуда на площадку падает свет с заданной плотностью dLv Этот падающий свет будет рассеиваться во все стороны, и его можно описать с помощью бесконечно малой плотности с/10. Тогда для описания того, как рассеивается падающая световая энергия, можно ввести понятие двулучевой функции отражательной способности {Bidirectional Reflection Distribution Function, BRDF) следующим образом:

Расчет освещенности. Компьютерная графика.

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

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

  • • принцип взаимности Гельмгольца;
  • • закон сохранения энергии.
Расчет освещенности. Компьютерная графика.

Согласно принципу взаимности Гельмгольца, если мы обратим движение света (т.е. направим его в противоположную сторону), то значение двулучевой функции отражательной способности не изменится:

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

Расчет освещенности. Компьютерная графика.

Самой простой двулучевой функцией отражательной способности является функция, равная константе, что соответствует идеальному диффузному отражению (закону Ламберта). Обратите внимание, что рассматриваемые ранее модели бликов по Фонгу и Блинну — Фонгу не являются физически корректными.

Показать весь текст
Заполнить форму текущей работой