Психофизиологические аспекты восприятия цвета и света
Построение реалистических изображений включает как физические, так и психологические процессы. Свет, то есть электромагнитная энергия, после взаимодействия с окружающей средой попадает в глаз, где в результате физических и химических реакций вырабатываются импульсы, воспринимаемые мозгом. Восприятие - это приобретаемое свойство.
Человеческий глаз представляет собой сложную систему. Он имеет почти сферическую форму с диаметром около 20 мм. Воспринимаемый свет с помощью гибкого хрусталика фокусируется на сетчатке глаза, в которой есть два типа рецепторов: колбочки и палочки. В центре задней полусферы глаза собрано 6-7 млн. колбочек, чувствительных только к сравнительно высоким уровням освещенности, причем каждая из них присоединена к отдельному нерву. Колбочки позволяют различать мелкие детали. В сетчатке также находится 75-150 млн. палочек, чувствительных к очень низким уровням освещенности. К одному нерву присоединено сразу несколько палочек, поэтому они не способны различать мелкие детали. Интересно, что цвет воспринимается только колбочками, то есть при низкой освещенности, когда колбочки теряют свою чувствительность, предметы кажутся серыми.
Свойства глаза
Из опытов известно, что чувствительность глаза к яркости света изменяется по логарифмическому закону. Пределы чувствительности к яркости чрезвычайно широки - порядка 1010, однако глаз не в состоянии одновременно воспринять весь этот диапазон. Глаз реагирует на гораздо меньший диапазон значений относительно яркости, распределенный вокруг уровня адаптации к освещенности. Чувствительность к относительной яркости имеет порядок 100-150 (2.2 логарифмической единицы). Скорость адаптации к яркости неодинакова для различных частей сетчатки, но тем не менее очень высока. Экстремумы диапазона относительной яркости воспринимаются соответственно как черный и белый. Таким образом, глаз приспосабливается к средней яркости обозреваемой сцены, поэтому область с постоянной яркостью (интенсивностью) на темном фоне кажется ярче или светлее, чем на светлом фоне. Это явление называется "одновременным контрастом".
На рис. 22.2, слева яркость центрального квадрата по шкале от 0 до 1 равна 0.5, а охватывающего - 0.2. На рис. 22.2, справа яркость центрального квадрата также равна 0.5, а охватывающего - 0.8. Малый квадрат слева кажется ярче, светлее, чем точно такой же квадрат справа. То же самое происходит при наблюдении уличного фонаря днем и ночью: если смотреть на фонарь днем, то средняя освещенность сцены выше, чем ночью. Поэтому уровень контраста ниже, и кажется, что интенсивность (яркость) фонаря меньше. Похожее на одновременный контраст явление существует и для цветов.
Вся световая энергия может пропускаться предметом, отражаться от него, поглощаться им. Доля пропущенного, отраженного и поглощенного света зависит от длины волны λ.
Световая энергия падает на поверхность:
· пропускается через предмет;
· поглощается с выделением тепла, количество которого зависит от длины волны λ;
· отражается: зеркально, диффузно.
При отражении существенна конфигурация (строение) источника (точечный источник, распределенный источник [лампа], рассеянный источник [солнечный свет]), а также ориентация и свойства поверхности.
Диффузное отражение
Световая энергия, падающая на поверхность, может быть поглощена, отражена или пропущена. Частично она поглощается и превращается в тепло, а частично отражается или пропускается. Объект можно увидеть, только если он отражает или пропускает свет. Если же объект поглощает весь падающий свет, то он невидим и называется абсолютно черным телом.
Количество поглощенной, отраженной или пропущенной энергии зависит от длины волны света. При освещении белым светом, в котором интенсивность всех длин волн снижена примерно одинаково, объект выглядит серым. Если поглощается почти весь свет, то объект кажется черным, а если только небольшая его часть - белым. Если поглощаются лишь определенные длины волн, то у света, исходящего от объекта, изменяется распределение энергии и объект выглядит цветным. Цвет объекта определяется поглощаемыми длинами волн.
Свойства отраженного света зависят от строения, направления и формы источника света, от ориентации и свойств поверхности. Отраженный от объекта свет может также быть диффузным или зеркальным.
Диффузное отражение света происходит, когда свет как бы проникает под поверхность объекта, поглощается, а затем вновь испускается. При этом положение наблюдателя не имеет значения, так как диффузно отраженный свет рассеивается равномерно по всем направлениям. Зеркальное отражение происходит от внешней поверхности объекта.
Свет точечного источника отражается от идеального рассеивателя по закону косинусов Ламберта: интенсивность отраженного света пропорциональна косинусу угла между направлением света и нормалью к поверхности:
I = Il * kd * cosθ, где
I - интенсивность отраженного света,
Il - интенсивность точечного источника,
kd - коэффициент диффузного отражения (0 <= kd <= 1); kd зависит от материала и длины волны света, но в простых моделях освещения обычно считается постоянным (0 - энергия полностью рассеялась от очень шероховатой поверхности, 1 - энергия полностью отразилась от абсолютно гладкой поверхности), θ - угол между направлением света и нормалью к поверхности (см. рис. 23.1), 0 <= θ <= π/2; если θ > π/2, то источник света расположен за объектом.
Поверхность предметов, изображенных при помощи простой модели освещения с ламбертовым диффузным отражением, выглядит блеклой и матовой. Предполагается, что источник точечный, и поэтому объекты, на которые не падает прямой свет, кажутся черными. Если источник точечный и представляет собой узкий луч, то:
I = Il * kd * cosθ * coscβ, где
Β - угол, образованный лучом прожектора и направлением на точку (см. рис. 23.2),
С - коэффициент узкости: чем больше с, тем уже пучок.
Закон не учитывает рассеянный свет.
Однако на объекты реальных сцен падает еще и рассеянный свет, отраженный от предметов окружающей обстановки, например от стен комнаты. Рассеянному свету соответствует распределенный источник. Поскольку для расчета таких источников требуются большие вычислительные затраты, в машинной графике они заменяются на коэффициент интенсивности для рассеянного света - константу, которая входит в формулу в линейной комбинации с членом Ламберта:
I = Ia * ka + Il * kd * cosθ, где
Ia - интенсивность рассеянного света,
ka - коэффициент интенсивности для рассеянного света (0 <= ka <= 1).
Пусть даны два объекта, одинаково ориентированные относительно источника, но расположенные на разном расстоянии от него. Если найти их интенсивность по данной формуле, то она окажется одинаковой. Это значит, что когда предметы перекрываются, их невозможно различить, хотя интенсивность света обратно пропорциональна квадрату расстояния от источника, и объект, лежащий дальше от него, должен быть темнее.
Если предположить, что источник света находится в бесконечности, то диффузный член модели освещения обратится в нуль. В случае перспективного преобразования сцены в качестве коэффициента пропорциональности для диффузного члена можно взять расстояние r от центра проекции до объекта. Но если центр проекции лежит близко к объекту, то 1/r2 изменяется очень быстро, то есть у объектов, лежащих примерно на одинаковом расстоянии от источника, разница интенсивностей чрезмерно велика.
Как показывает опыт, большей реалистичности можно добиться при линейном затухании. В этом случае модель освещенности выглядит так:
I = Ia * ka + (Il * kd * cosθ * cosc β )/(r + const),
r необходимо, чтобы не было дискотечного эффекта (эффекта резких переходов),
сonst - чтобы не произошло деление на ноль.
Если предполагается, что точка наблюдения находится в бесконечности, то r определяется положением объекта, ближайшего к точке наблюдения. Это означает, что ближайший объект освещается с полной интенсивностью источника, а более далекие - с уменьшенной. Для цветных поверхностей модель освещения применяется к каждому из трех основных цветов: красному (R), зеленому (G) и синему (B):
IR = Ia * ka + (Il * kd * cosθ * coscβ )/(r + const) | |
IG = Ia * ka + (Il * kd * cosθ * coscβ )/(r + const) | |
IB = Ia * ka + (Il * kd * cosθ * coscβ )/(r + const) |
Зеркальное отражение
Интенсивность зеркально отраженного света зависит от угла падения α, длины волны падающего света L и свойств вещества. Хорошо известное основное уравнение Френеля имеется в любой книге по геометрической оптике. Зеркальное отражение света является направленным. Угол отражения от идеальной отражающей поверхности (зеркала) равен углу падения, в любом другом положении наблюдатель не видит зеркально отраженный свет. Это означает, что вектор наблюдения S совпадает с вектором отражения R. Если поверхность не идеальна, то количество света, достигающее наблюдателя, зависит от пространственного распределения зеркально отраженного света. У гладких поверхностей распределение узкое или сфокусированное, у шероховатых - более широкое.
В простых моделях освещения обычно пользуются эмпирической моделью Буи-Туонга Фонга, так как физические свойства зеркального отражения очень сложны. Модель Фонга имеет вид:
Is = Il * w(i, λ) * cosnα, где
Is - интенсивность света, попавшего в глаз наблюдателя,
Il - интенсивность падающего света,
w(i, λ) - кривая отражения, представляющая отношение зеркально отраженного света к падающему как функцию угла падения i и длины волны λ,
α - угол между направлением света и нормалью к поверхности,
n - степень, аппроксимирующая пространственное распределение зеркально отраженного света.
Свойства
Благодаря зеркальному отражению на блестящих предметах появляются световые блики. Из-за того, что зеркально отраженный свет сфокусирован вдоль вектора отражения, блики при движении наблюдателя тоже перемещаются. Более того, так как свет отражается от внешней поверхности (за исключением металлов и некоторых твердых красителей), то отраженный луч сохраняет свойства падающего. Например, при освещении блестящей синей поверхности белым светом возникают белые, а не синие блики. На рис. 24.2: изображен график функции cosnα на промежутке -π/2 <= α <= π/2 для различных n. Эта функция приближенно описывает пространственные распределения для зеркального отражения. Большие значения n дают сфокусированные пространственные распределения характеристик металлов и других блестящих поверхностей, а малые - более широкие распределения для неметаллических поверхностей, например бумаги.
Коэффициент зеркального отражения w зависит от угла падения, однако даже при перпендикулярном падении зеркально отражается только часть света, а остальная часть либо поглощается, либо отражается диффузно. Эти соотношения определяются свойствами вещества и длиной волны. Коэффициент отражения для некоторых неметаллов может быть равен всего 4%, в то время как для металлических материалов - более 80%. На рис. 24.3, слева, коэффициенты отражения для некоторых веществ при нормальном падении света показаны как функции длины волны, а на рисунке справа - как функции угла падения. Обратите внимание, что при падении под скользящим углом (θ = 90o) коэффициент отражения стремится к 100%, то есть отражается почти весь падающий свет.
Модель освещения
Объединяя эти результаты с формулой рассеянного света и диффузного отражения, получим модель освещения:
I = Iaka + (Il/(d + K)) * (kd * cosθ + w(i, λ) * cosnα).
Функция w(i, λ) довольно сложна, поэтому ее обычно заменяют константой ks, которая либо выбирается из эстетических соображений, либо определяется экспериментально. С учетом этого:
I = Iaka + (Il/(d + K)) * (kd * cosθ + ks * cosnα).
В машинной графике эта модель часто называется функцией закраски и применяется для расчета интенсивности или тона точек объекта или пикселов изображения. Чтобы получить цветное изображение, нужно найти функции закраски для каждого из трех основных цветов. Константа ks обычно одинакова для всех трех основных цветов, поскольку цвет зеркально отраженного света определяется цветом падающего. Если имеется несколько источников света, то их эффекты суммируются. В этом случае модель освещения определяется так:
I = Iaka + Σ (Ili/(d + K)) * (kd * cosθi + ks * cosniαi),
где суммирование по i идет от 1 до количества источников m.
Применяя формулу скалярного произведения двух векторов, запишем:
cosθ = (n * L)/(|n| * |L|) = n' * L',
где n' и L' - единичные векторы соответственно нормали к поверхности и направления к источнику. Точно так же:
cosα = (R * S)/(|R| * |S|) = R' * S',
где R' и S' - единичные векторы, определяющие направления отраженного луча и луча наблюдения. Следовательно, модель освещения для одного источника определяется так:
I = Iaka + (Il/(d + K)) * (kd * (n' * L') + ks * (R' * S')n).
Предположим, что на первом рисунке в точке падения луча L векторы нормали, падающего света и наблюдения такие:
n = j
L = -i + 2j – k
S = i + 1.5j + 0.5k.
Пусть на сцене находится только один объект, d = 0, К = 1 и интенсивность источника будет в 10 раз больше, чем интенсивность рассеянного света, то есть Ia = 1, а Il = 10. Объект имеет блестящую металлическую поверхность, поэтому в основном свет будет отражаться зеркально. Пусть ks= 0.8, ka = ks = 0.15 и n = 5. Заметим, что ks + kd = 0.95, то есть 5% энергии источника поглощается.