Модели расчета освещенности граней трехмерных объектов
Основной характеристикой света в компьютерной графике является яркость. Поскольку яркость является субъективным понятием, основанным на человеческом восприятии света, то для численных расчетов применяется термин интенсивность, что соответствует яркости и является энергетической характеристикой световой волны. В расчетах интенсивность обычно принимает значения от 0 до 1. При этом интенсивность равна нулю при полном отсутствии света, а значение 1 соответствует максимальной яркости.
В компьютерной графике для расчета освещенности граней объектов зачастую применяется трехкомпонентная цветовая модель “Красный, Зеленый, Синий”, что в английском варианте записывается RGB (Red, Green, Blue). Эта модель позволяет задавать любой цвет в виде трех компонент интенсивностей базовых цветов: красного, зеленого и синего. Интенсивность отраженного света точек пространственных объектов вычисляют отдельно для каждой их трех составляющих цветовых компонент, а затем объединяют в результирующую тройку цветов. Далее будем считать что примеры расчета интенсивностей отраженного света применяются к каждому их трех базовых цветов.
При расчете освещенности граней применяют следующие типы освещения и отражения света от поверхностей.
§ Рассеянное
§ Диффузное
§ Зеркальное
Рис. 39. Расчет интенсивности отраженного света.
Интенсивность освещения граней трехмерных объектов рассеянным светом считается постоянной в любой точке пространства. Она обусловлена множественными отражениями света от всех объектов в пространстве. При освещении трехмерного объекта рассеянным светом интенсивность отраженного света вычисляется как
, где
- интенсивность падающего света,
- коэффициент рассеянного отражения, зависит от отражающих свойств материала грани.
Для расчета интенсивности диффузного отражения света может применяться закон косинусов Ламберта:
, где
- угол падения, рассчитывается как угол между направлением на источник света и нормалью к поверхности.
Пусть направление на источник света представлено единичным вектором
, а
- единичный вектор нормали. Тогда
- скалярное произведение векторов. Тогда
, где
- коэффициент диффузного отражения.
Вычисление зеркально отраженного света производится также с помощью различных эмпирических моделей, которые позволяют учитывать реальную шероховатость поверхностей. Например, в модели, предложенной Фонгом, интенсивность зеркально отраженного света рассчитывается в зависимости от степени отклонения от истинного значения вектора зеркально отраженного луча света. Пусть
- вектор зеркально отраженного луча света, а
- вектор, определяющий направление на наблюдателя. Тогда интенсивность зеркально отраженного света по модели Фонга рассчитывается так:
, где
- угол между векторами
и
. Константа n – может принимать значения от 1 до примерно 200, в зависимости от отражающей способности материала. Большим значениям n соответствует большая степень “гладкости” или “зеркальности” поверхности. Если векторы
и
- нормированы, то формула преобразуется к виду:
.
Интенсивность отраженного света уменьшается обратно пропорционально квадрату расстояния от источника до наблюдателя. Поэтому можно записать формулу расчета интенсивности отраженного луча света для трех составляющих: рассеянного, диффузного и зеркального отражения с учетом расстояния:
,
где
- расстояние от точки отражения до наблюдателя, а
- некоторая константа. Иногда, для ускорения вычислений, берут не вторую, а первую степень расстояния
.
В системах компьютерной визуализации также учитываются такие свойства материалов отражающих поверхностей как прозрачность, преломление и свечение. Степень прозрачности материала грани может описываться с помощью константы, принимающей значение от нуля до единицы, причем значение 1 соответствует полной непрозрачности материала грани. Пусть интенсивности отраженного света двух перекрывающихся поверхностей равны
и
. Пусть первая поверхность находится ближе к наблюдателю и является полупрозрачной с коэффициентом прозрачности
.Тогда суммарная интенсивность отраженного света может быть вычислена как взвешенное среднее:
.
Модели для вычисления эффектов преломления и свечения здесь не рассматриваются.