Шаг 72.
Основы компьютерной графики. Методы и алгоритмы трехмерной графики. Закрашивание поверхностей. Модели отражения света. Метод Гуро

    На этом шаге мы рассмотрим особенности использования данного метода.

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

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

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

    Закрашивание граней по методу Гуро осуществляется в четыре этапа.

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

  Na = (N1 + N2 + N3)/3.

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


Рис.2. Заполнение контура грани

    Интерполированная интенсивность I в точке (X, Y) определяется исходя из пропорции (I - I1) /(X-X1) = (I2 - I1)/(X2 - X1). Отсюда I = I1 + (I2 - I1)/(X -X1)/(X2 - X1).

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

    На следующем шаге мы рассмотрим метод Фонга.




Предыдущий шаг Содержание Следующий шаг