- •9. Создание реалистических изображений
- •9.1. Пространственные модели
- •9.2. Геометрическое моделирование объектов сложной формы
- •9. 3. Текстуры
- •9. 4. Основные операции при построении реалистических изображений
- •9.5. Моделирование источников освещения и расчёт освещённости малых участков поверхности объектов
- •9.6. Моделирование отражающих свойств поверхностей
- •9.7. Моделирование отражения от поверхности (затенение)
- •1. Плоское затенение (Flat). Освещенность грани принимают постоянной и равной освещенности одной из вершин II (1£ I £ k), либо среднему значению по всем вершинам
- •9. 8. Удаление невидимых граней. Расчёт теней
- •9.9. Создание стереоскопического эффекта
- •9. 10. Анимация
9.6. Моделирование отражающих свойств поверхностей
Допустим, интенсивность падающего освещения на не-которую малую площадку dS равна ’. Участок является види-мым благодаря тому, что часть энергии площадка отражает в направлении наблюдателя. Рассмотрим основные типы по-верхностей по отражающим свойствам.
1. Матовые поверхности – обладают диффузным (одинаковым по всем направлениям) отражением, поэтому яркость поверх-ности не зависит от того, с какой точки она обозревается наблюдателем (Рис. 9. 3).
193
Рис. 9.3
Яркость (интенсивность) отражения света одинакова по всем направлениям и равна:
I = p*’ ,
где p – коэффициент диффузного отражения (0 < p < 1). Он за-висит от материала поверхности, его обработки и состояния.
Преимущественно матовыми являются все поверхности, имеющие достаточную шероховатость.
Идеальные отражающие поверхности. Поверхности с малой шероховатостью (полированные) отражают свет под углом, равным углу падения. Коэффициент отражения р = 1, если угол зрения равен углу отражения , иначе р = 0 ( Рис. 9.4).
3. Неидеальные отражающие поверхности – сочетают свойства 1 и 2 типов поверхностей. По сравнению с идеальными отра-жают свет по углам, близким к . Однако при увеличении отклонения интенсивность I быстро падает. Величина её рассчитывается по формуле.
I = (p + W()*cos n( - ’
194
Рис. 9.4
где W() - доля зеркального отражения света (обычно принимают W()=Const), угол отражения, - угол наблю-дения;
n = 1 - 200 – в зависимости от отражающих свойств поверх-ности.
К данному типу относится большинство реальных по-верхностей.
9.7. Моделирование отражения от поверхности (затенение)
Допустим, рассчитывается затенение некоторой грани объекта, имеющей k вершин. При моделировании освещения граней вначале по методам, изложенным выше, рассчитывают освещенность вершин (малых участков поверхности возле них) I1,...,Ik . Для расчета отражённого света от внутренних участков граней на практике используют следующие методы.
195
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 .
196
Шаг 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 , относительному поло-жению источника и наблюдателя рассчитывается отражение.
Этот метод является наиболее совершенным. Однако его реализация требует выполнения большого числа операций. Поэтому в системах реального времени он пока используется мало. Для упрощения расчётов затенения по Фонгу нормали к вершинам включают в геометрическую информацию модели.
Помимо отражения затенение граней формируется тенями, падающими на них от других граней. Учёт этого вида затенения производится методами, аналогичными методам удаления невидимых граней и рассматривается ниже.
197
