Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КГ_курс лекций.doc
Скачиваний:
29
Добавлен:
14.11.2019
Размер:
1.31 Mб
Скачать

4.11. Метод визуального сглаживания Гуро

Наиболее существенным недостатком полигональной аппроксимации криволинейных поверхностей является то, что если не принимать специальных мер, на изображении явно видны границы треугольников, которыми заменяются поверхности. Это связано с тем, что в пределах всякого плоского треугольника нормальный вектор остается неизменным, а потому одинаковыми будут цвет и яркость всех точек треугольника. В результате на границах сопряжения смежных треугольников возникает скачкообразное изменение яркости, что очень остро улавливается зрением.

На рис. 4.15, поясняющем проблему, показано сечение фрагмента аппроксимированной криволинейной поверхности плоскостью Y = const. Поверхность освещается бесконечно удаленным источником света, направление которого задается вектором Ve. Здесь N1, N2, N3, N4 – нормальные векторы к треугольникам, попавшим в рассматриваемое сечение.

Р ис. 4.15

График I(x) демонстрирует скачкообразное изменение яркости изображения на границах смежных треугольников.

Для подавления рассмотренного недостатка Гуро [8] предложил метод визуального сглаживания яркости при построении изображений аппроксимированных криволинейных поверхностей. Суть метода состоит в том, что в каждой узловой точке поверхности, где сопрягаются несколько смежных треугольников, расчетным путем на основании нормальных векторов этих треугольников находится усредненный нормальный вектор Ns. В зависимости от расположения в узловой точке могут сопрягаться от одного до шести треугольников (рис. 4.16), поэтому

(4.41)

Здесь имеется в виду векторное суммирование, причем перед усреднением векторы Ni путем нормирования должны быть приведены к единичной длине.

Рис. 4.16

В результате этих предварительных расчетов для всех узлов полигональной сетки, являющихся также вершинами треугольников, будут определены свои нормальные векторы, причем в вершинах каждого треугольника все три нормальных вектора в общем случае будут различными. Для того, чтобы затем выполнить фотометрические расчеты, нормальные векторы Ns в узловых точках также следует пронормировать.

Используя усредненные нормальные векторы, рассчитывают цветовые составляющие в узловых точках. В итоге для каждого аппроксимирующего треугольника будем иметь цветовые составляющие IR1, IG1, IB1, IR2, IG2, IB2, IR3, IG3, IB3 его вершин (рис. 4.17).

Рис. 4.17

Цвет остальных точек проекции треугольника рассчитывают с помощью билинейной интерполяции между вершинами. Для этого сначала производят линейную интерполяцию компонент IR, IG, IB по Y вдоль сторон треугольника. В зависимости от строки Y значение яркости цветовой компоненты IR по стороне 1-2 будет меняться следующим образом:

. (4.42)

Формулы для расчета цветовых компонент IG12 и IB12 аналогичны. Для двух других сторон, если они пересекаются строкой Y, таким же образом рассчитывают IR23, IG23, IB23 и IR31, IG31, IB31.

Далее для расчета текущих значений цветовых компонент в пределах каждой строки Y также используют линейную интерполяцию, но уже по x. Например, в строке Y между сторонами 1-2 и 3-1 красная составляющая будет меняться по x следующим образом:

. (4.43)

Формулы для расчета цветовых компонент IG и IB аналогичны.

Поскольку смежные треугольники в общих вершинах имеют одни и те же нормальные векторы, то при переходе от одного треугольника к другому яркость точек будет меняться без скачков. Как видно из рис. 4.15, метод визуального сглаживания Гуро изменяет ступенчатый характер первоначальной зависимости I(x) на непрерывный, в виде ломаной линии I2(x).