Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Компьютерная графика / МАШ_ГРАФИКА.doc
Скачиваний:
153
Добавлен:
19.04.2015
Размер:
3.94 Mб
Скачать

§ 6. Моделирование отражающих свойств поверхностей

Допустим, интенсивность падающего освещения на некото-рую малую площадку dS равна ’. Участок является видимым благодаря тому, что часть энергии площадка отражает в направлении наблюдателя. Рассмотрим основные типы по-верхностей по отражающим свойствам.

1. Матовые поверхности – обладают диффузным (одинаковым по всем направлениям) отражением, поэтому яркость поверх-ности не зависит от того, с какой точки она обозревается наблюдателем (Рис. 9. 3).

195

Рис. 9.3

Яркость (интенсивность) отражения света одинакова по всем направлениям и равна:

I = p*’ ,

где p – коэффициент диффузного отражения (0 < p < 1). Он за-висит от материала поверхности, его обработки и состояния.

Преимущественно матовыми являются все поверхности, име-ющие достаточную шероховатость.

  1. Идеальные отражающие поверхности. Поверхности с малой шероховатостью (полированные) отражают свет под углом, равным углу падения. Коэффициент отражения р = 1, если угол зрения равен углу отражения , иначе р = 0 ( Рис. 9.4).

3. Неидеальные отражающие поверхности – сочетают свойства 1 и 2 типов поверхностей. По сравнению с идеальными отра-жают свет по углам, близким к . Однако при увеличении отклонения интенсивность I быстро падает. Величина её рассчитывается по формуле.

I = (p + W()*cos n( - ’

196

Рис. 9.4

где W() - доля зеркального отражения света (обычно принимают W()=Const), угол отражения, - угол наблю-дения;

n = 1 - 200 – в зависимости от отражающих свойств поверх-ности.

К данному типу относится большинство реальных поверхностей.

§ 7. Моделирование отражения от поверхности (затенение)

Допустим, рассчитывается затенение некоторой грани объек-та, имеющей k вершин.При моделировании освещения граней вначале по методам, изложенным выше, рассчитывают осве-щенность вершин (малых участков поверхности возле них) I1,...,Ik . Для расчета отражённого света от внутренних участков граней на практике используют следующие методы.

197

1. Плоское затенение (Flat). Освещенность грани принимают постоянной и равной освещенности одной из вершин Ii (1£ i £ k), либо среднему значению по всем вершинам

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

2. Затенение по Гуро (Gouraud). Применяется для треуголь-ников. Используется двухуровневая линейная интерполяция. Рассмотрим последовательность вычислений на примере расчета освещенности некоторой произвольной внутренней точки грани G (Рис. 9.5).

Рис. 9.5

Шаг 1. По освещенности вершин IA, IB, IC, линейно интер-полируются освещенности ID, IE точек D и E, лежащих на пересечении прямой, проходящей через G параллельно осно-ванию BC , с прилежащими к нему ребрами AB,AC. Также приведена формула для интерполирования освещенности IF точки F, лежащей на ребре BC .

198

Шаг 2. По освещенностям ID, IE точек D и E на ребрах линей-но интерполируется освещенность пикселя, соответствую-щего рассматриваемой точке G внутри треугольника:

В том случае, когда yВ = yА либо yС = yА , yС = yВ (верши-ны треугольника лежат на одном уровне по оси y), у приве-денных интерполяционных формул появляются нули в знаме-нателях. Поэтому вместо них необходимо использовать анало-гичные формулы для интерполяции по оси x.

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

3. Затенение по Фонгу (Phong). Расчёт содержит несколько действий.

1. По нормалям nA ,nB ,nC в вершинах треугольника ABC интерполируются нормали nD для внутренних точек тре-угольника D.

2. В каждой точке D по нормали nD , относительному поло-жению источника и наблюдателя рассчитывается отражение.

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

Помимо отражения затенение граней формируется тенями, падающими на них от других граней. Учёт этого вида зате-нения производится методами, аналогичными методам удале-ния невидимых граней и рассматривается ниже.

199