Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
15-17,19-24.docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
29.87 Кб
Скачать

15.Освещение и свет в компьютерной графике. Алгоритм плоского закрашивания.

Плоское закрашивание:

Для закрашивания 3D-объектов требуется рассчитать интенсивность освещения поверхности в заданной точке. Для этого необходимо определить 4 вектора: направление на источник, направление на наблюдателя, направление отраженного света и нормаль к поверхности. Если окрашиваемая поверхность задана явным уравнением, то определение нормали производится классическим математическим методом. На практике часто применяются частные случаи и приближенные методы вычисления, т.к. строгие расчеты требуют больших вычислительных затрат.

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

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

16.Освещение и свет в компьютерной графике. Закрашивание методом Гуро.

Закрашивание Гуро:

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

В некоторых случаях нормаль к вершине можно получить значительно легче, например, при аппроксимации сферы, нормаль к любой ее точке определяется вектором, соединяющим центр сферы и данную точку. При этом необходимо произвести нормализацию. Сложность реализации расчета нормали по методу Гуро, сводится к определению для каждой вершины всех многоугольников, сходящихся к ним, т.е. определение топологии объекта. Для проведения билинейной интерполяции, рассчитываются интенсивности в вершинах многоугольника, затем для определения интенсивности всех точек внутри многоугольника проводят интерполяцию, с помощью сканирующей строки. Т.о. проводя дважды линейную интерполяцию, получается интенсивность освещения произвольной точки многоугольника, в силу линейности функции, можно получить значение интенсивности вдоль сканирующей строки инкрементально (основываясь на результате вычислений предыдущей точки). При постоянном шаге параметр приращения интенсивности так же постоянен. Закраска Гуро дает более реалистичное представление поверхности, однако полностью не устраняет полос Маха, т.к. обеспечивает непрерывности значений интенсивности вдоль границы многоугольников, не обеспечивая непрерывности интенсивности. При усреднении нормали можно получить одинаковый результат, для различно-ориентированных многоугольников, что приводит к искажению изображения. Для устранения данного недостатка, вводятся дополнительные многоугольники.