Главная » Информационные системы » Компьютерная геометрия и графика » Построение реалистических изображений. Закраска методами Гуро и Фонга.

Построение реалистических изображений. Закраска методами Гуро и Фонга.

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

Человеческий глаз - очень сложная система. Он имеет почти сферическую форму с диаметром около 20 мм. Воспринимаемый свет с помощью гибкого хрусталика фокусируется на сетчатке глаза, в которой есть два типа рецепторов: колбочки и палочки. В центре задней полусферы глаза собрано 6-7 млн. колбочек, чувствительных только к сравнительно высоким уровням освещенности, причем каждая из них присоединена к отдельному нерву. Колбочки позволяют различать мелкие детали. В сетчатке также находится 75-150 млн. палочек, чувствительных к очень низким уровням освещенности. К одному нерву присоединено сразу несколько палочек, поэтому они не способны различать мелкие детали. Интересно, что цвет воспринимается только колбочками, т. е. при низкой освещенности, когда колбочки теряют свою чувствительность, предметы кажутся черно-белыми.

Из опытов известно, что чувствительность глаза к яркости света изменяется по логарифмическому закону. Пределы чувствительности к яркости чрезвычайно широки, порядка 1010, однако глаз не в состоянии одновременно воспринять весь этот диапазон. Глаз реагирует на гораздо меньший диапазон значений относительно

 src=20.1.JPG

a b

Рис. 5.1. Одновременный контраст.

яркости, распределенный вокруг уровня адаптации к освещенности. Чувствительность к относительной яркости имеет порядок 100-150 (2.2 логарифмической единицы). Скорость адаптации к яркости неодинакова для различных частей сетчатки, но тем не менее очень высока. Экстремумы диапазона относительной яркости воспринимаются соответственно как черный и белый.

Глаз приспосабливается к “средней” яркости обозреваемой сцены; поэтому область с постоянной яркостью (интенсивностью) на темном фоне кажется ярче или светлее, чем на светлом фоне. Это явление называется одновременным контрастом (рис. 5.1). Яркость центрального квадрата на шкале от 0 до 1 равна 0.5, а охватывающего - 0.2 (рис. 5.1, а). На рис. 5.1, b яркость центрального квадрата такая же, а охватывающего - 0.8. То же самое происходит при наблюдении уличного фонаря днем и ночью: если смотреть на фонарь днем (рис. 5.1, а), то средняя освещенность сцены выше, чем ночью (рис. 5.1, b). Поэтому уровень контраста ниже, и кажется, что интенсивность (яркость) фонаря или центрального квадрата на рис. 5.1, а меньше. Похожее на одновременный контраст явление существует и для цветов.

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

 src=20.2.JPG

 

Рис. 5.2. Эффект полос Маха: (а) кусочно-линейная функция интенсивности, (b) функция интенсивности с непрерывной первой производной. (С разрешения университета штата Юта, [5-2].)

 

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

src=20.3.JPG

 

Метод Гуро

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

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

Метод Гуро - это метод, согласно которому цвет примитива реально рассчитывается лишь в вершинах, а затем линейно интерполируется по его поверхности. Это значительно снижает вычислительные затраты и не менее Закрашивание граней по методу Гуро осуществляется в четыре этапа.

· Вычисляются нормали к каждой грани.

· Определяются нормали в вершинах. Нормаль в вершине определяется усреднением нормалей примыкающих границей.

· На основе нормалей в вершинах вычисляются значения интенсивностей в вершинах согласно выбранной модели отражения света.

· Закрашиваются полигоны граней цветом, соответствующим линейной интерполяции значений интенсивности в вершинах.

Вектор нормали в вершине а равен

Na=(N1+N2+N3)/3

Определение интерполированных значений интенсивности отраженного света в каждой точке грани ( и, следовательно, цвет каждого пиксела) удобно выполнять во время цикла заполнения полигона. Рассмотрим заполнение контура грани горизонталями в экранных координатах.

Заполнение контура грани

Интерполированная интенсивность I в точке (X,Y) определяется исходя из пропорции

(I-I1)/(X-X1) = (I2-I1)/(X2-X1).

Отсюда

I = I1+(I2-I1) (X-X1)/ (X2-X1).

Значения интенсивностей I2 и I1 на концах горизонтального отрезка представляют собой интерполяцию интенсивности в вершинах:

(I1-Ib) / (Y-Yb) = (Ic-Ib) / (Yc-Yb) (I2-Ib) / (Y-Yb) = (Ia-Ib) / (Ya-Yb) Или I1= Ib+ (Ic-Ib) (Y-Yb) / (Yc-Yb) I2= Ib+(Ia-Ib) (Y-Yb) / (Ya-Yb).


Друзья! Приглашаем вас к обсуждению. Если у вас есть своё мнение, напишите нам в комментарии.

Поделиться
Дисциплины