Оглавление Дополнительное чтение Учебник «Компьютерная графика» Лекция 22. Психофизиологические аспекты восприятия цвета и света Лекция 24. Зеркальное отражение

Часть III / Лекция 23. Диффузное отражение

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

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

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

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

Свет точечного источника отражается от идеального рассеивателя по закону косинусов Ламберта: интенсивность отраженного света пропорциональна косинусу угла между направлением света и нормалью к поверхности:
I = Il * kd * cosq, где
I — интенсивность отраженного света,
Il — интенсивность точечного источника,
kd — коэффициент диффузного отражения (0 <= kd <= 1); kd зависит от материала и длины волны света, но в простых моделях освещения обычно считается постоянным (0 — энергия полностью рассеялась от очень шерховатой поверхности, 1 — энергия полностью отразилась от абсолютно гладкой поверхности),
q — угол между направлением света и нормалью к поверхности (см. рис. 23.1), 0 <= q <= p/2; если q > p/2, то источник света расположен за объектом.

рис. 23.1

Поверхность предметов, изображенных при помощи простой модели освещения с ламбертовым диффузным отражением, выглядит блеклой и матовой. Предполагается, что источник точечный, и поэтому объекты, на которые не падает прямой свет, кажутся черными. Если источник точечный и представляет собой узкий луч, то:
I = Il * kd * cosq * coscb, где
b — угол, образованный лучом прожектора и направлением на точку (см. рис. 23.2),
с — коэффициент узкости: чем больше с, тем уже пучок.
Закон не учитывает рассеянный свет.

рис. 23.2

Однако на объекты реальных сцен падает еще и рассеянный свет, отраженный от предметов окружающей обстановки, например от стен комнаты. Рассеянному свету соответствует распределенный источник. Поскольку для расчета таких источников требуются большие вычислительные затраты, в машинной графике они заменяются на коэффициент интенсивности для рассеянного света — константу, которая входит в формулу в линейной комбинации с членом Ламберта:
I = Ia * ka + Il * kd * cosq, где
Ia — интенсивность рассеянного света,
ka — коэффициент интенсивности для рассеянного света (0 <= ka <= 1).

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

Если предположить, что источник света находится в бесконечности, то диффузный член модели освещения обратится в нуль. В случае перспективного преобразования сцены в качестве коэффициента пропорциональности для диффузного члена можно взять расстояние r от центра проекции до объекта. Но если центр проекции лежит близко к объекту, то 1/r2 изменяется очень быстро, то есть у объектов, лежащих примерно на одинаковом расстоянии от источника, разница интенсивностей чрезмерно велика.

Как показывает опыт, большей реалистичности можно добиться при линейном затухании. В этом случае модель освещенности выглядит так:
I = Ia * ka + (Il * kd * cosq * cosc b )/(r + const),
r необходимо, чтобы не было дискотечного эффекта (эффекта резких переходов),
сonst — чтобы не произошло деление на ноль.

Если предполагается, что точка наблюдения находится в бесконечности, то r определяется положением объекта, ближайшего к точке наблюдения. Это означает, что ближайший объект освещается с полной интенсивностью источника, а более далекие — с уменьшенной. Для цветных поверхностей модель освещения применяется к каждому из трех основных цветов: красному (R), зеленому (G) и синему (B):

{

IR = Ia * ka + (Il * kd * cosq * coscb )/(r + const)

IG = Ia * ka + (Il * kd * cosq * coscb )/(r + const)

IB = Ia * ka + (Il * kd * cosq * coscb )/(r + const)

Дополнительное чтение

Фактура

Лекция 22. Психофизиологически... Лекция 24. Зеркальное отражени...