Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основы автоматизированного проектирования (Бори...docx
Скачиваний:
43
Добавлен:
09.11.2019
Размер:
1.28 Mб
Скачать

Однотонная закраска

Вычисляется один уровень интенсивности, который используется для закраски всего многоугольника. При этом предполагается, что:

  1. Источник света находится в бесконечности, и поэтому постоянно на всей полигональной грани.

  2. Точка зрения находится в бесконечности, и поэтому постоянно на всей полигональной грани.

  3. Многоугольник представляет реальную моделируемую поверхность, а не является аппроксимацией криволинейной поверхности.

Е сли условия 1) или 2) являются неприемлемыми, то можно использовать усредненные значения и , вычисленные в центре многоугольника.

Условие 3) в гораздо большей степени влияет на результат закраски, так как значения интенсивностей для соседних граней могут существенно отличаться, что дает резкий перепад (дискретность) интенсивности на всех граничных ребрах. (AutoShade 1.0)

Интерполяция значений интенсивности (метод Гуро)

Этот метод позволяет устранить дискретность изменения интенсивности (но неполностью).

Закраска по методу Гуро выполняется в 4 этапа:

  1. Вычисление нормали к поверхности.

  2. В ычисление нормали в вершинах путем усреднения нормалей по всем смежным граням.

, где n – число прилегающих к вершине граней. В нашем случае:

  1. Вычисление значений интенсивности в вершинах с использованием нормалей в вершинах и какого-либо метода закраски.

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

Ф ормулы интерполяции:

– результат интерполяции вдоль ребра между значениями и .

– результат интерполяции вдоль ребра между значениями и .

– результат интерполяции вдоль сканирующей строки между значениями и .

Интерполяция вдоль ребер легко объединяется с алгоритмом удаления скрытых линий и поверхностей.

Для цветных поверхностей отдельно интерполируется каждая компонента цветовой модели.

Интерполяция вектора нормали (метод Фонга)

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

Векторная интерполяция помогает восстановить естественную кривизну поверхности, аппроксимированной многоугольниками.

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

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

Нормали в вершинах, в свою очередь, вычисляются так же, как и в методе Гуро.

Метод Фонга дает лучший результат для модели зеркального отражения, так как более точно воспроизводятся зеркальные блики.