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

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).