Смекни!
smekni.com

Методы раскрашивания поверхностей метод Гуро, Фонга, трассировка лучей, преломление света (стр. 1 из 3)

Тема: Методы раскрашивания поверхностей (метод Гуро, Фонга, трассировка лучей, преломление света)


СОДЕРЖАНИЕ

ВВЕДЕНИЕ……………………………………………………………………....3

1. МОДЕЛИ ОТРАЖЕНИЯ СВЕТА…………………………………………4

1.1. Зеркальное отражение света……………………………………………..4

1.2. Диффузное отражение…………………………………………………....5

2. МЕТОД ГУРО…………………………………………………………………7

3. МЕТОД ФОНГА……………………………………………………………..10

4. ПРЕЛОМЛЕНИЕ СВЕТА……………………………………………………12

4.1. Модель идеального преломления……………………………………….12

5. ТРАССИРОВКА ЛУЧЕЙ……………………………………………………14


ВВЕДЕНИЕ

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

Глаз адаптируется к средней яркости рассматриваемой сцены, поэтому при смене фона изменяется восприятие сцены. Например, однородно окрашенная область на более темном фоне будет казаться более яркой, чем на светлом. Кроме того, она будет восприниматься как более обширная (рис. 9.1).

Рис. 9.1. Эффекты восприятия изображения

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

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

Рассмотрим методы, которые позволяют получить более-менее реалистичные изображения для объектов, моделируемых многогранниками и полигональными сетками.


1. МОДЕЛИ ОТРАЖЕНИЯ СВЕТА

Рассмотрим, как можно определить цвет пикселов изображения поверхности согласно интенсивности отраженного света при учете взаимного расположения поверхности, источника света и наблюдателя.

1.1. Зеркальное отражение света

Угол между нормалью и падающим лучом (θ) равен углу между нормалью и отраженным лучом. Падающий луч, отраженный луч и нормаль располагаются в одной плоскости (рис.1).

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

Поверхность считается идеальной зеркальной, если на ней отсутствуют какие-либо неровности, шероховатости. Собственный цвет у такой поверхности не наблюдается. Световая энергия падающего луча отражается только по линии отраженного луча. Какие-либо рассеяние в стороны от этой линии отсутствует. В природе, вероятно, нет идеально гладких поверхностей, поэтому полагают, что если глубина шероховатостей существенно меньше длины волны излучения, то рассеивания не наблюдается. Для видимого спектра можно принять, что глубина шероховатостей поверхности зеркала должна быть существенно меньше 0,5 мкм.

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

При наличии шероховатостей имеется зависимость интенсивности отраженного света от угла падения. Отражение света максимально для углов θ, близких к 90°.

Падающий луч, попадая на слегка шероховатую поверхность реального зеркала, порождает не один отраженный луч, а несколько лучей, рассеиваемых по различным направлениям. Зона рассеивания зависит от качества полировки и может быть описана некоторым законом распределения. Как правило, форма зоны рассеивания симметрична относительно линии идеального зеркально отраженного луча. К числу простейших, но достаточно часто используемых, относится эмпирическая модель распределения Фонга, согласно которой интенсивность зеркально отраженного излучения пропорциональна (cosα)p, где α – угол отклонения от линии идеально отраженного луча. Показатель p находится в диапазоне от 1 до 200 и зависит от качества полировки.

Запишем это таким образом:

Is=I Ks (cosα)p,(1)

Где I- интенсивность излучения источника, Ks – коэффициент пропорциональности.

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

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

Id=IKdcosθ,(2)

Где I - интенсивность источника света, Kd – коэффициент, который учитывает свойства материала поверхности. Значение Kd находится в диапазоне от 0 до 1. Интенсивность отраженного света не зависит от расположения наблюдателя.

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

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

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

Iотр=I( Ks (cosα)p+ Kd cosθ), (3)

где константы Ks, Kd определяют отражательные свойства материала.

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

Iотр= IaKa +I(Ks (cosα)p+ Kd cosθ), (4)

где Ia– интенсивность рассеянного света,Ka – константа.

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

Iотр= IaKa +I*(Ks (cosα)p+ Kd cosθ)/(R+k), (5)

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

Для определения цвета закрашивания точек объектов в соответствии с данной моделью наиболее просто выполняется расчет в градациях серного цвета (например, для белого источника света и серых объектов). В данном случае интенсивность отраженного света соответствует яркости. Сложнее обстоит дело с цветными источниками света, освещающими цветные поверхности. Например, для модели RGBсоставляются три формулы расчета интенсивности отраженного света для различных цветовых компонент. Коэффициенты Ka, Kd различны для разных компонент– они выражают собственный цвет поверхности. Поскольку цвет отраженного зеркального луча равен цвету источника, то коэффициент Ks будет одинаковым для всех компонент цветовой модели. Цвет источника света выражается значениями интенсивности I для соответствующих цветовых компонент.


2. МЕТОД ГУРО

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

Метод Гуро основывается на идее закрашивания каждой плоской грани не одним цветом, а плавно изменяющимися оттенками, вычисляемыми путем интерполяции цветов примыкающих граней. Закрашивание граней по методу Гуро осуществляется в четыре этапа:

- вычисляются нормали к каждой грани;

- определяются нормали в вершинах. Нормаль в вершине определяется усреднением нормалей примыкающих граней (рис.3);

- на основе нормалей в вершинах вычисляются значения интенсивностей в вершинах согласно выбранной модели отражения света;

- закрашиваются полигоны граней цветом, соответствующим линейной интерполяции значений интенсивности в вершинах.

Рис.3 Нормаль в вершине

Вектор нормали в вершине (а) равен

Na=(N1 + N2 + N3)/3 (6)

Определение интерполированных значений интенсивности отраженного света в каждой точке грани (и, следовательно, цвет каждого пиксела) удобно выполнять во время цикла заполнения полигона. Рассмотрим заполнение контура грани горизонталями в экранных координатах (рис.4).