Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Определение нормалей и закрашивание методом Гуро






Этот метод предназначен для создания иллюзии гладкой криволинейной поверхности, описанной в виде многогранников или полигональной сетки с плоскими гранями. Если каждая плоская грань имеет одни постоянный цвет, определенный с учетом отражения, то различные цвета соседних граней очень заметны, и поверхность выглядит именно как многогранник. Казалось бы, это дефект можно замаскировать за счет увеличения граней при аппроксимации поверхности. Но зрение человека имеет способность подчеркивать перепады яркости на границах смежных граней – такой эффект называется эффектом полос Маха. Поэтому для создания иллюзии гладкости нужно намного увеличить количество граней, что приводит к существенному замедлению визуализации – чем больше граней, тем меньше скорость рисования объектов.
Метод Гуро основывается на идее закрашивания каждой плоской грани не одним цветом, а плавно изменяющимися оттенками, вычисляемыми путем интерполяции цветов примыкающих граней. Закрашивание граней по методу Гуро осуществляется в четыре этапа:
- вычисляются нормали к каждой грани;
- определяются нормали в вершинах. Нормаль в вершине определяется усреднением нормалей примыкающих граней (рис.3);
- на основе нормалей в вершинах вычисляются значения интенсивностей в вершинах согласно выбранной модели отражения света;
- закрашиваются полигоны граней цветом, соответствующим линейной интерполяции значений интенсивности в вершинах.
Вектор нормали в вершине (а) равен
Na=(N1 + N2 + N3)/3(6)Определение интерполированных значений интенсивности отраженного света в каждой точке грани (и, следовательно, цвет каждого пиксела) удобно выполнять во время цикла заполнения полигона. Рассмотрим заполнение контура грани горизонталями в экранных координатах (рис.4).
Интерполированная интенсивность I в точке (X, Y) определяется исходя из пропорции
(I-I1)/(X-X1)= (I2-I1)/(X2-X1)(7)ОтсюдаI=I1+(I2-I1)(X-X1)/(X2-X1) (8)Значения интенсивностей I1, I2 на концах горизонтального отрезка представляют сбой интерполяцию интенсивности в вершинах: I1=Ib+(Ic-Ib)(Y-Yb)/(Yc-Yb)I2=Ib+(Ia-Ib)(Y-Yb)/(Ya-Yb)






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.