
ALL
.pdf
Модели отражения света
•Рассмотрим, как определить цвет пикселов изображения поверхности согласно интенсивности отраженного света при учете взаимного расположения поверхности, источника света и наблюдателя.
•Зеркальное отражение света. Угол между нормалью и падающим лучом (θ) равен углу между нормалью и отраженным лучом. Падающий луч, отраженный, и нормаль располагаются в одной плоскости (рис.).
•Рис. Зеркальное отражение света
•Поверхность считается идеально зеркальной, если отсутствуют какие-либо шероховатости.
1.Собственный цвет у поверхности не наблюдается.
2.Световая энергия падающего луча отражается по линии отраженного луча.
3.Рассеяние в стороны от этой линии отсутствует.
•В природе нет идеально гладких поверхностей, полагают, что если глубина шероховатостей существенно меньше длины волны излучения, то рассеивания не наблюдается. Для видимого спектра существенно меньше 0.5 мкм [30].
Модели отражения света
•Если поверхность зеркала неидеальна
1.наблюдается зависимость интенсивности отраженного света от длины волны (чем больше длина волны, тем лучше отражение). Например, красные лучи отражаются сильнее, чем синие.
2.имеется зависимость интенсивности отраженного света от угла падения. Отражение света максимально для углов θ, близких к 90 градусам [13, 30].
3.Падающий луч, попадая на слегка шероховатую поверхность реального зеркала, порождает не один отраженный луч, а несколько лучей, рассеиваемых по различным направлениям.
•Зона рассеивания зависит от качества полировки и может быть описана некоторым законом распределения.
•Как правило, форма зоны рассеивания симметрична относительно линии идеального зеркально отраженного луча.
•эмпирическая модель распределения Фонга – интенсивность зеркально отраженного излучения пропорциональна (cos )p, где – угол отклонения от линии идеально отраженного луча. Показатель p находится в диапазоне от 1 до 200 и зависит от качества полировки [28].
•Is = I Ks cos p
•где I – интенсивность излучения источника, Ks – коэффициент пропорциональности.

Диффузное отражение
•Вид отражения матовых поверхностей.
•Матовой можно считать такую поверхность, у которой падающий луч рассеивается равномерно во все стороны.
•Например, для гипса, песка, бумаги и т.д..
•Диффузное отражение описывается законом Ламберта, согласно которому интенсивность отраженного света пропорциональна косинусу угла между направлением на точечный источник света и нормалью к поверхности (рис.).
•Id = I Kd cos θ,
•где I – интенсивность источника света, Kd – коэффициент, который учитывает свойства материала поверхности. Значение Kd находится в диапазоне от 0 до 1 [28]. Интенсивность отраженного света не зависит от расположения наблюдателя.
•Рис. Матовая поверхность
•Матовая поверхность имеет свой цвет. Наблюдаемый цвет матовой поверхности определяется комбинацией собственного цвета поверхности и цвета излучения источника
света.
Модели отражения света
•При создании реалистичных изображений надо учитывать, что в природе не существует идеально зеркальных или полностью матовых поверхностей.
•При изображении объектов средствами компьютерной графики обычно моделируют сочетание зеркальности и диффузного рассеивания в пропорции, характерной для конкретного материала.
•Модель отражения записывают в виде суммы диффузной и зеркальной компонент:
•Iотр = I (Kd cos θ + Ks cos p )
•где константы Kd, Ks определяют отражательные свойства материала.
•Из формулы интенсивность отраженного света равна нулю для некоторых углов θ и .
•Но в реальных сценах обычно нет полностью затемненных объектов - учитывают фоновую подсветку, освещение рассеянным светом, отраженным от других объектов.
•В таком случае интенсивность эмпирически :
•Iотр = IаKа + I (Kd cos θ + Ks cos p )
•где Iа – интенсивность рассеянного света, Kа – константа.
•Можно еще учесть, что энергия от точечного источника света уменьшается пропорционально квадрату расстояния (слишком сложно).
•На практике реализуют модель, выражаемую эмпирической формулой [28]:
Iотр = IаKа + ( I/(R+k)) (Kd cos θ + Ks cos p )
•где R — расстояние от центра проекции до поверхности, k — константа
Модели отражения света
•Для определения цвета закрашивания точек объектов в соответствии с моделью:
•Для белого источника света и серых объектов выполняется расчет в градациях серого цвета. Интенсивность отраженного света соответствует яркости.
•Для цветных источников света, освещающих цветные поверхности.
–для модели RGB составляются три формулы расчета интенсивности отраженного света для различных цветовых компонент.
–Коэффициенты Kа и Kd различны для разных компонент —выражают собственный цвет поверхности. Т.к. цвет отраженного зеркального луча равен цвету источника, то коэффициент Ks будет одинаковым для всех компонент цветовой модели.
–Цвет источника света выражается значениями интенсивности I для соответствующих цветовых компонент.


Вычисление нормалей и углов отражения
• Пусть дана многогранная поверхность. Рассмотрим одну ее плоскую грань в виде треугольника (рис.1).
• Для вычисления координат вектора нормали воспользуемся векторным произведением любых двух векторов в плоскости грани, например, ребра 1-2 и 1-3.
• Чтобы перейти к радиус-векторам, введем новую систему координат, |
Рис. 1. |
грань поверхности |
центр в вершине 1, оси параллельны осям прежней системы. Координаты• |
||
вершин в новой системе: |
|
|
• x'i = xi – x1, |
|
|
• y'i = yi – y1, |
|
|
• z'i = zi – z1, |
|
|
• ребро (1-2) – вектор A, а ребро (1-3) — вектор B, (рис. 2). То есть положение |
|
|
нормали к грани в пространстве будет описываться радиус-вектором N. Его • |
Рис. 2. |
Радиус-векторы |
координаты в системе (x’, y’, z’) по формулам для векторного произведения: |
|
|
•Использованы координаты вершин грани до переноса.
•Плоская грань может быть в различных ракурсах.
•В конкретной ситуации необходимо выбирать направление нормали, соответствующее видимой стороне грани. Если плоская грань видна с обратной стороны, то в расчетах отраженного света выбирают в качестве нормали обратный вектор (-N).
•Не треугольные грани, а, например четырехугольные, расчет нормали - по любым 3-ем вершинам грани.

Диффузное отражение.
•Определим косинус угла между вектором нормали по направлением на источник света.
•Первый пример. Источник света на оси z в бесконечности. Если расчеты производятся для видовой системы координат, то источник света располагается на одной оси с камерой. Косинус угла нормали к
грани с осью z равен отношению координаты и длины радиус-вектора
•Второй пример. Источник света в бесконечности и не лежит на оси z. Необходимо преобразовать координаты вектора нормали.
•Расположение источника света описывают 2-мя углами ( с и с), затем выполняют поворот координат так, чтобы ось z была направлена на источник света, и используют формулы для первого примера. Длина вектора при повороте не меняется – вычислить координату zN в повернутой системе координат.
•Если расположение источника света описывается вектором, направленным не источник света, то косинус угла с вектором нормали можно вычислить так:
1.Определить радиус-вектор, направленный на источник света - S.
2.Затем, для вычисления косинуса угла между радиус-векторами 8 и N воспользуемся формулами скалярного произведения векторов.
• Так как S N = S N cos θ, и |
S N = xs xN + ys yN + zs zN, |
то |
•для упрощения вычислений S = 1.
•Третий пример. Источник света располагается в конечной точке пространства с координатами (xs, ys, zs). Для определения косинуса угла с нормалью выполним сдвиг координат источника света так, чтобы вектор нормали в точке поверхности и вектор, направленный на источник света, выходили из общего центра.
•Радиус-вектор, который направлен на источник света будет иметь координаты (xs – x1, ys – y1, zs – z1). Затем вычислим косинус угла через скалярное произведение радиус-векторов, как в предыдущем примере.

Зеркальное отражение
•Пусть задан радиус-вектор S, направленный на источник света, и известен радиус-вектор нормали N. Найти косинус угла между отраженным лучом и направлением камеры.
•Вычислим радиус-вектор отраженного луча – R
•и выполним геометрические построения (рис.).
•Для решения задачи рассмотрим единичные векторы R1 и N1.
•Т.к. векторы нормали, падающего луча и отраженного луча
• в одной плоскости, можно записать R + S |
1 |
= N’, |
Рис. Векторы R1, S1 и N1 — единичной длины |
1 |
|
|
•где N' — вектор, соответствующий диагонали ромба и совпадающий по направлению нормалью.
•Длина вектора N' =2 cos θ. Так как N ' по направлению совпадает с N1 , то
• N ' = N1 2cos θ |
или |
R1 + S1 = N1 2cos θ. |
•Отсюда единичный вектор отраженного луча: R1 = N1 2cos θ – S1 = N/ N 2cos θ – S/ S
•Найдем соsθ, используя скалярное произведение векторов N и S: cosθ = (N S)/( N S )
•Тогда R1= N 2 (N S)/( N 2 S ) – S/ S
•вектор отраженного луча будет иметь такую же длину что и вектор падающего луча, то есть R = S R1 тогда
R = N 2 (N S)/ N 2 – S
•Это решение в векторной форме. Координаты вектора R
•Cos угла между отраженным лучом и направлением камеры – используя скалярное произведение K и R:
•K – радиус-вектор, направленный на камеру. Для упрощения вычислений векторы S, N и К единичной длины (R единичный).
