exam37 - MiAneko24/bmstu-cg GitHub Wiki
37. Построение реалистических изображений. Метод Гуро закраски поверхностей (получение сглаженного изображения).
Построение реалистических изображений.
Бывает три возможных типа закрашивания:
1. Простая закраска
2. Закраска по Гуро
3. Закраска по Фонгу
Простая закраска.
В данном алгоритме закрашиваем все одним уровнем интенсивности (одним цветом). Алгоритм быстрый, но качество не очень.
Простая закраска используется при выполнении трех условий.
1. Предполагается, что источник находится в бесконечности.
Падающие лучи параллельны друг другу. Это влияет на расчёт диффузной составляющей, т.к. она зависит от угла падения. Для всех точек угол падения одинаковый -> диффузная составляющая одинакова.
2. Предполагается, что наблюдатель находится в бесконечности
Вектор наблюдения взгляда и вектора зеркального отражения будут для всех точек одинаковым, значит везде будет одинаковая зеркальная составляющая (интенсивность)
3. Закрашиваемая грань является реально существующей, а не полученной в результате аппроксимации поверхности.
ЭТО САМОЕ ВАЖНОЕ ТРЕБОВАНИЕ! Например, можно рассмотреть сферу. Аппроксимировали ее гранями, каждую грань закрасили своим уровень интенсивности (грани будут разного цвета). Глаз будет видеть резкий переход, который будет выглядеть как ребро. Какие ребра могут быть у сферической поверхности??? Сильное искажение изображения.
- Плюсы: быстрый и простой
- Минусы: возникают ребра
Закраска по Гуро
Сглаживание на основе интерполяции интенсивности.
Гуро предложил биполярную (биполяр очка) интерполяцию интенсивности. Грани рассматриваются отдельно. Вычисляем нормали вершины грани. Зная нормаль, вычисляем интенсивность каждой вершины и выполняем первую линейную интерполяцию вдоль ребер. (Линейную чтобы минимизировать вычисления).
Вторая линейная интерполяция выполняется когда вычисляем интенсивности пикселей, расположенных на сканирующей строке. Качество изображения улучшится.
Закраска не предусматривает учет кривизны поверхности. При применении закраски можно потерять ребра и получить плоское изображение. Это может произойти, когда закрашивается смежная грань одним уровнем интенсивности, то есть когда углы граней одинаковые.
Пример - детская книжка-раскладушка. Нормали одинаковые, интенсивности тоже, каждая из 3х граней будет закрашена одинаковым уровнем. Ребер не увидим.
Решение: нарандомить изменения в нормалях либо разбить на более мелкие грани (если речь идет об аппроксимации)
Такая закраска хорошо стакается с диффузной составляющей поверхности (матовой).
Расчёты и формулы
Следующий вопрос: 38. Построение реалистических изображений. Закраска Фонга (улучшение аппроксимации кривизны поверхности).
Предыдущий вопрос: 36. Построение реалистических изображений. Физические и психологические факторы, учитываемые при создании реалистичных изображений. Простая модель освещения.