- •1) Основные этапы развития компьютерной графики. Основные направления развития компьютерной графики.
- •А) Изобразительная компьютерная графика
- •Б) Обработка и анализ изображений
- •В) Анализ сцен
- •Г) Когнитивная компьютерная графика
- •2) Приложения компьютерной графики. Виды представления компьютерной графики
- •3) Виды графического представления геометрических моделей. Цвет. Система rgb, cmyk. Цветовые модели
- •6) Перенос и повороты в трехмерном пространстве
- •7) Основные принципы программирования Windows -приложения.
- •8) Разработка каркаса Windows –приложения.
- •15) Основная концепция решения задач загораживания
- •16) Известные методы решения задач загораживания
- •24) Кривые Безье.
- •Применение в компьютерной графике
- •25) Простая модель освещения.
- •27) Закраска методом Гуро.
- •28) Закраска Фонга.
27) Закраска методом Гуро.
Метод закраски, который основан на интерполяции интенсивности и известен как метод Гуро (по имени его разработчика), позволяет устранить дискретность изменения интенсивности. Процесс закраски по методу Гуро осуществляется в четыре этапа:
1. Вычисляются нормали ко всем полигонам.
2. Определяются нормали в вершинах путем усреднения нормалей по всем полигональным граням, которым принадлежит вершина (рис 6.3).
2.
3. Рис. 6.3. Нормали к вершинам: v=(1 +2 +3 +4 +v)/4
4.
5.
3. Используя нормали в вершинах и применяя произвольный метод закраски, вычисляются значения интенсивности в вершинах.
4. Каждый многоугольник закрашивается путем линейной интерполяции значений интенсивностей в вершинах сначала вдоль каждого ребра, а затем и между ребрами вдоль каждой сканирующей строки (рис. 6.4).
7.
8. Рис. 6.4. Интерполяция интенсивностей
9.
Интерполяция вдоль ребер легко объединяется с алгоритмом удаления скрытых поверхностей, построенным на принципе построчного сканирования. Для всех ребер запоминается начальная интенсивность, а также изменение интенсивности при каждом единичном шаге по координате y, Заполнение видимого интервала на сканирующей строке производится путем интерполяции между значениями интенсивности на двух ребрах, ограничивающих интервал (рис 6.4).
Для цветных объектов отдельно интерполируется каждая из компонент цвета.
28) Закраска Фонга.
Закраска Фонга требует больших вычислительных затрат, однако она позволяет разрешить многие проблемы метода Гуро. При закраске Гуро вдоль сканирующей строки интерполируется значение интенсивности, а при закраске Фонга - вектор нормали. Затем он используется в модели освещения для вычисления интенсивности пиксела. При этом достигается лучшая локальная аппроксимация кривизны поверхности и, следовательно, получается более реалистичное изображение. В частности, правдоподобнее выглядят зеркальные блики.
При закраске Фонга аппроксимация кривизны поверхности производится сначала в вершинах многоугольников путем аппроксимации нормали в вершине. После этого билинейной интерполяцией вычисляется нормаль в каждом пикселе. Например, снова обращаясь к рис. 11.10, получаем нормаль в Q линейной интерполяцией междуAи B, вR- междуBиCи, наконец, вP- междуQиR. Таким образом:
где
u=AQ/AB, w=BR/BC, t=QP/QR.
Нормаль вдоль сканирующей строки опять можно выразить через приращение, т. е.
где индексы 1 и 2 указывают на расположение пискелов на строке.
На рис. 11.12 сравниваются однотонная закраска (слева), закраска Гуро (в центре), Фонга (справа). Модель освещения для левого и среднего торов включает рассеянный свет и диффузное отражение (уравнение (11.1)), а для правого - также зеркальное отражение, благодаря которому появляются блики (уравнение (11.5) с d=0, K=1). На рис. 11.13 сравниваются зеркальные блики при закраске Гуро и более реалистичной закраске Фонга.
Рис. 11.12. Сравнение методов закраски: слева - однотонная, в центре - Гуро, справа - Фонга.
a b
Рис. 11.13. Сравнение зеркальных бликов: (а) закраска Гуро, (b) Фонга.
Хотя метод Фонга устраняет большинство недостатков метода Гуро, он тоже основывается на линейной интерполяции. Поэтому в местах разрыва первой производной интенсивности заметен эффект полос Маха, хотя и не такой сильный, как при закраске Гуро. Однако, как показал Дафф, иногда этот эффект проявляется сильнее у метода Фонга, например для сфер. Кроме того, оба метода могут привести к ошибкам при изображении невыпуклых многоугольников, например, таких, как на рис. 11.14. Первая сканирующая строка использует данные из вершин QRS, а вторая, лежащая ниже, берет также данные вершины P. Это может нарушить непрерывность закраски.
Рис. 11.14. Нарушение непрерывности закраски для невыпуклого многоугольника.
Также возникают трудности, когда любой из этих методов применяется при создании последовательности кинокадров. Например, закраска может значительно изменяться от кадра к кадру. Это происходит из-за того, что правило закраски зависит от поворотов, а обработка ведется в пространстве изображения. Поэтому, когда от кадра к кадру меняется ориентация объекта, его закраска (цвет) тоже изменяется, причем достаточно заметно. Дафф предлагает метод закраски Гуро и Фонга, инвариантный относительно поворота.