Конспект лекций по компьютерной графике. Конспект лекций по дисциплине Компьютерная графика
![]()
|
8.2 Метод ГуроЭтот метод предназначен для создания иллюзии гладкой криволинейной поверхности, которая описана в виде многогранников или полигональной сетки с плоскими гранями. Если каждая плоская грань имеет один постоянный цвет, который определен в соответствии с учетом отражения, то разные цвета соседних граней очень заметны, и поверхность выглядит именно как многогранник. Казалось, этот дефект можно замаскировать за счет увеличения количества граней при аппроксимации поверхности. Но зрение человека имеет способность подчеркивать перепады яркости на границах смежных граней — такой эффект называется эффектом полос Маха. Вследствие этого, для создания иллюзии гладкости нужно намного увеличить количество граней, что приводит к существенному замедлению визуализации — чем больше граней, тем меньше скорость рисования объектов. Метод Гуро основан на идее закрашивания каждой плоской грани не одним цветом, а плавно изменяющимися оттенками, которые вычисляются путем интерполяции цветов прилегающих граней. Закрашивание граней по методу Гуро осуществляется в четыре этапа.
![]() Рис. 8.6. Нормаль в вершине а На основе нормалей в вершинах вычисляются значения интенсивностей в вершинах в соответствии с выбранной моделью отражения света. Закрашиваются полигоны граней цветом, который соответствует линейной интерполяции значений интенсивности в вершинах. Вектор нормали в вершине (а) равняется ![]() Определение интерполированных значений интенсивности отраженного света в каждой точке грани (и, следовательно, цвет каждого пиксела) удобно выполнять во время цикла заполнения полигона. Рассмотрим заполнение контура грани горизонталями в экранных координатах (рис. 8.7). ![]() Рис. 8.7. Заполнение полигона грани Интерполированная интенсивность Iв точке (X, У) определяется, исходя из пропорции ![]() откуда ![]() Значение интенсивности I1 и I2 на концах горизонтального отрезка вычислим путем интерполяции интенсивности в вершинах ![]() 8.3 Метод ФонгаАналогичен методу Гуро, но при использовании метода Фонга для определения цвета в каждой точке интерполируются не интенсивности отраженного света, а векторы нормалей.
Метод Фонга сложнее метода Гуро. Для каждой точки (пиксела) поверхности необходимо выполнять намного больше вычислительных операций. Тем не менее, он дает значительно лучшие результаты, в особенности при имитации зеркальных поверхностей. Общие черты и отличия методов Гуро и Фонга можно показать на примере образца цилиндрической поверхности, которая аппроксимирована плоскими гранями (рис. 8.8). Пусть точечный источник света находится позади нас. Проанализируем результаты закрашивания граней поверхности для имитации отражения света. ![]() Рис. 8.8. Отличия закрашивания методами Гуро и Фонга Основные отличия можно заметить, рассматривая закрашивания передней грани. Она перпендикулярна направлению лучей света. Поэтому нормали в вершинах этой грани располагаются симметрично — они образуют попарно равные по абсолютной величине углы с лучами света. Для метода Гуро это обуславливает одинаковые интенсивности отраженного света в вершинах передней грани. А раз интенсивности для всех вершин одинаковые, то цвет всех точек этой грани — константа (при линейной интерполяции), что, в данном случае, неправильно. |