Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции 6-10.DOC
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
833.54 Кб
Скачать

Простые модели освещенности и методы затенения

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

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

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

I = Il kd cos ,

где Il – интенсивность точечного источника, kd – коэффициент диффузного отражения (0 kd 1), – угол между направлением света и нормалью к поверхности (0 /2).

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

I = Ia ka + Il kd cos ,

где Ia – интенсивность рассеянного света, ka – коэффициент диффузного отражения рассеянного света (0 kа 1).

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

I = Ia ka + (Il kd cos ) / (d + K ),

где d – расстояние от центра проекции до объекта, K – произвольная постоянная.

Существуют и другие, более сложные, модели освещенности.

Вместе с тем, выделяют три относительно простых метода затенения (закрашивания), предполагающие ту или иную интерполяцию освещенности: метод постоянного закрашивания (по Ламберту), метод Гуро и метод Фонга.

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

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

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

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