Шаг 68.
Основы компьютерной графики. Методы и алгоритмы трехмерной графики. Закрашивание поверхностей. Модели отражения света. Диффузное отражение

    На этом шаге мы рассмотрим особенности этой одели отражения.

    Этот вид отражения присущ матовым поверхностям. Матовой можно считать такую поверхность, размер шероховатости которой уже несколько велик, что падающий луч рассевается равномерно во все стороны. Такой тип отражения характерен, например, для гипса, песка, бумаги. Диффузное отражение описывается законом Ламберта, согласно которому интенсивность отраженного света пропорциональна косинусу угла между направлением на точечный источник света и нормалью к поверхности (рисунок 1).


Рис.1. Матовая поверхность

  Id = I Kd cosθ
где I - интенсивность источника света, Kd - коэффициент, который учитывает свойства материала поверхности. Значение Kd находится в диапазоне от 0 до 1.

    Интенсивность отраженного света не зависит от расположения наблюдателя.

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

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

  Iотр = I (Kd cos θ + Ks cosp α),
где константы Kd, Ks определяют отраженные свойства материала.

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

  Iотр = Iа Kа + I (Kd cos θ + Ks cosp α),
где Ia - интенсивность рассеянного света, Ka - константа.

    Можно еще усовершенствовать модель отражения, если учесть то, что энергия от точечного источника света уменьшается пропорционально квадрату расстояния. Использование такого правила вызывает сложности, поэтому на практике часто реализуют модель, выражаемую эмпирической формулой[1]:

где R - расстояние от центра проекции до поверхности, k - константа.

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

    Например, для модели RGB составляются три формулы расчета интенсивности отраженного света для различных цветовых компонент.

    Коэффициенты Ka и Kd различны для разных компонент - они выражают собственный цвет поверхности. Поскольку цвет отраженного зеркального луча равен цвету источника, то коэффициент Ks будет одинаковым для всех компонент цветовой модели. Цвет источника света выражается значениями интенсивности I для соответствующих цветовых компонент.


(1)Фоли Дж., ван Дэм А. Основы интерактивной машинной графики. В 2-х книгах. - М.: Мир, 1985.

    На следующем шаге мы рассмотрим вычисление координат вектора нормали.




Предыдущий шаг Содержание Следующий шаг