Метод закраски, который основан на интерполяции интенсивности и известен как метод Гуро (по имени его разработчика), позволяет устранить дискретность изменения интенсивности. Процесс закраски по методу Гуро осуществляется в четыре этапа.
1. Вычисляются нормали ко всем полигонам;
2. Определяются нормали в вершинах путем усреднения нормалей по всем полигональным граням, которым принадлежит вершина (Рис 5.3).
Рис. 5.3 Нормали к вершинам: v=( 1 + 2 + 3 + 4 + v)/4
3. Используя нормали в вершинах и применяя произвольный метод закраски, вычисляются значения интенсивности в вершинах.
4. Каждый многоугольник закрашивается путем линейной интерполяции значений интенсивностей в вершинах сначала вдоль каждого ребра, а затем и между ребрами вдоль каждой сканирующей строки (Рис. 6.4).
Рис. 5.4 Интерполяция интенсивностей
Интерполяция вдоль ребер легко объединяется с алгоритмом удаления скрытых поверхностей, построенным на принципе построчного сканирования. Для всех ребер запоминается начальная интенсивность, а также изменение интенсивности при каждом единичном шаге по координате y, Заполнение видимого интервала на сканирующей строке производится путем интерполяции между значениями интенсивности на двух ребрах, ограничивающих интервал (Рис 6.4.).
|
|
I a = I 1 + I 2
I b = I 1 + I 3
I p = I a + I b
Для цветных объектов отдельно интерполируется каждая из компонент цвета.