Материал: Алгоритмы компьютерной графики. В 3 ч. Ч. 3 (200

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

ся как области, имеющие переменную интенсивность. Это явление называется эффектом полос Маха. Более точное определение эффекта дано в Большом психологическом словаре (сост. Б. Мещеряков, В. Зинченко, Олма-пресс, 2004):

«Полосы Маха (англ. Mach bands) – зрительная иллюзия, которую можно классифицировать как эффект одновременного краевого контраста. Эффект впервые описан австрийским физиком и философом Э. Махом (1860-е гг.) и носит его имя. Стимулом, на который смотрит наблюдатель, являются два гомогенных поля (пятна), имеющих разную яркость и разделенных областью постепенного, плавного яркостного перехода (градиента) от яркости одного поля к яркости другого. В этой ситуации наблюдатель на краях переходной области видит иллюзорные полоски: на границе светлого пятна видится еще более светлая полоса, а на границе темного пятна – еще более темная полоса. Таким образом, вместо монотонных переходов яркости “наблюдаются” резкие перепады, что можно также назвать “подчеркиванием (или усилением) контраста”».

Эффект полос Маха особенно заметен на полутоновых поверхностях, заданных многоугольниками.

2.2. Простая модель освещения

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

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

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

16

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

Начнем рассмотрение простой модели освещения с диффузного отражения.

2.2.1. Диффузное отражение

Свет точечного источника отражается от идеального рассеивателя по закону косинусов Ламберта: интенсивность диффузно отраженного света пропорциональна косинусу угла между направлением света и нормалью к поверхности:

Id = Ilkd cos θ,

где Id – интенсивность диффузно отраженного света; Il – интенсивность точечного источника;

kd – коэффициент диффузного отражения (0 ≤ kd ≤ 1), который зависит от материала объекта и длины волны падающего на него света, но в простых моделях освещения обычно является постоянным;

θ – угол между направлением на источник света и нормалью к поверхности, если θ > π/2, то источник света расположен за объектом

(рис. 2.2).

θ

Рис. 2.2. Диффузное отражение

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

17

ются очень большие вычислительные затраты, то в простой модели освещения используются: ka – коэффициент диффузного отражения рассеянного света (0 ≤ ka ≤ 1) и Ia – интенсивность рассеянного света, которые считаются постоянными для данной сцены. Таким образом, формула интенсивности диффузно отраженного света преобразуется к следующему виду:

Id = Iaka + Ilkd cos θ.

В этой формуле не учитывается расстояние от источника освещения до объекта. И если не учитывать расстояние, то объекты, расположенные на разных расстояниях до источника освещения, будут выглядеть одинаково. Теоретически освещенность зависит от расстояния как 1/d2 (если только источник освещения находится не в бесконечности), но практически 1/d2 дает большую разницу в освещенности близко расположенных объектов, и сцена получается нереалистична. Поэтому вместо коэффициента 1/d2 в простых моделях освещения используется коэффициент 1/(d + K), где K – это произвольная постоянная, выбираемая эмпирически или из каких-то эстетических соображений.

Итак, окончательная формула интенсивности диффузного отражения в простой модели освещения выглядит следующим образом:

Id = Iaka + Ilkd cos θ /(d + K).

2.2.2. Зеркальное отражение

Интенсивность зеркального отраженного света зависит от угла падения и длины волны падающего света, а также от свойств поверхности объекта и положения наблюдателя (рис. 2.3).

Ө Ө

α

Рис. 2.3. Зеркальное отражение

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

18

наблюдения не совпадает с вектором отражения (вектора R и S), не может видеть зеркально отраженный свет. Но так как поверхность «обычно» не идеальна, то количество света, достигающего наблюдателя, зависит от пространственного распределения зеркально отраженного света. У гладких поверхностей распределение узкое или сфокусированное (маленькое яркое пятно), у шероховатых – широкое (большое расплывчатое пятно). При этом зеркальные блики перемещаются при перемещении наблюдателя.

Так как свойства отраженного света очень сложны и зависят от свойств материала объекта и длин волн падающего света, то в простой модели освещения пользуются эмпирической моделью Фонга:

Is = Ilw(θ, λ) cosnα,

где Il – интенсивность точечного источника;

w(θ, λ) – кривая отражения, представляющая отношение зеркально отраженного света к падающему как функцию угла падения (θ) и длины волны падающего света (λ). Так как функция w(θ, λ) очень сложна, то в простой модели освещения ее заменяют на коэффициент ks;

n – степень, аппроксимирующая пространственное распределение зеркально отраженного света.

На рис. 2.4 показана функция cosnα для разных значений n, при этом (–π/2 ≤ α ≤ π/2).

cosnα

Рис. 2.4. Приближенная функция пространственного распределения зеркально отраженного света

19

Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

2.2.3. «Полная» простая модель освещения

Суммируя все результаты, получим формулу

I= Id + Is = Iaka + Il(kd cos θ + ks cosnα )/(d + K).

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

 

 

 

 

 

 

m

II

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

I I

 

k

 

 

j

k

 

cos θ

 

k

 

cosn

 

.

 

 

 

a

a

 

 

 

d

j

s

j

 

 

 

 

 

d

K

 

 

 

 

 

j

 

 

 

 

 

 

 

j 1

 

 

 

 

 

 

 

 

 

 

 

 

Если применить формулы скалярного произведения векторов, то

 

 

 

 

 

 

cosθ

 

 

n L

 

 

 

nˆ

ˆ

,

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

L

 

 

 

L

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

R S

ˆ

ˆ

 

 

 

 

 

 

 

 

 

 

 

cos α

 

 

R

 

 

 

S

 

 

 

R S ,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

где

nˆ

ˆ ˆ

ˆ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

, L,S и R – единичные векторы соответственно нормали к поверх-

ности, падающего луча, отраженного луча и наблюдения. Соответственно простая модель для одного источника выглядит следующим образом:

 

II

 

kd nˆ

ˆ

ˆ ˆ n

 

I Ia ka

d

 

L ks R S

.

 

K

 

 

 

2.2.4. Определение нормали к поверхности

Для того чтобы применить модель освещения, необходимо вычислить нормаль и вектор отражения в каждой точке поверхности. Начнем с нормали к поверхности. Если известно аналитическое описание поверхности, то нормаль вычисляют непосредственно по математическим формулам. Но в компьютерной графике поверхность обычно за-

20

Источник: https://studfile.net/preview/16724844/