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