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

Эффективность алгоритмов

В основном на эффективность алгоритмов удаления скрытых линий и поверхностей влияют:

  1. эффективность выбранного алгоритма сортировки;

  2. степерь упорядочения по координатам;

  3. эффективность использования памяти.

Относительная оценка эффективности алгоритмов:

Алгоритм

Число многоугольников

100

2 500

60 000

Упорядочение по глубине

1 (*

10

507

Использование Z-буфера

54

54

54

Построчное сканирование

5

21

100

(* – данные пронормированы так, что этот элемент принят за единицу.

Рассмотренные выше алгоритмы применимы лишь к объектам, состоящим из плоских граней. Чтобы воспользоваться любым из них для работы с криволинейными объектами, необходимо предварительно аппроксимировать эти объекты большим числом мелких плоских граней.

Идея одного из алгоритмов для работы с криволинейными поверхностями – разбиение поверхности на куски (по параметрам s и t) до тех пор, пока их проекции на плоскость экрана не станут примерно равными площади пикселя. Затем для определение видимости такой малой площади используется алгоритм Z-буфера.

8. Модели расчета освещенности граней в пространстве

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

Основной характеристикой света в компьютерной графике является яркость. Но поскольку яркость является субъективным понятием, основанным на человеческом восприятии света, то для численных расчетов применяется термин интенсивность, что соответствует яркости и является энергетической характеристикой световой волны. В расчетах интенсивность обычно принимает значения от 0 до 1. При этом интенсивность равна 0 при полном отсутствии света, а значение 1 соответствует максимальной яркости.

П ри расчете освещенности используются следующие типы освещения и отражения света от поверхностей.

  • Рассеянный свет

  • Диффузное отражение

  • Зеркальное отражение

Диффузное отражение и рассеянный свет

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

Для расчета интенсивности диффузного отражения света применяется закон косинусов Ламберта:

,

где – угол между направлением на точечный источник света интенсивности и нормалью к поверхности , а – коэффициент диффузного отражения (константа), зависящий от материала поверхности.

Таким образом, количество диффузно отраженного света, воспринимаемое наблюдателем, не зависит от положения наблюдателя.

Если векторы и нормированы, то и модель диффузного отражения можно переписать так:

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

При освещении пространственного объекта рассеянным светом интенсивность отраженного света вычисляется так:

,

где – интенсивность рассеянного света от точечного источника, а – коэффициент, определяющий количество рассеянного света, отраженного от поверхности.

С учетом рассеянного света модель закраски примет вид:

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

Но если есть перекрывающиеся параллельные поверхности с разными z-координатами, то их нормали параллельны, и поэтому эти поверхности закрашиваются одинаково. Так как интенсивность отраженного света уменьшается обратно пропорционально квадрату расстояния R до источника света, то для каждой поверхности можно записать:

Но для параллельных проекций , поэтому используется модель

,

где k – некоторая константа, а r – расстояние от центра проекции до поверхности.