Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Shpory_3D-mod.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
10.94 Mб
Скачать

Глава 12. Алгоритмы удаления скрытых линий и поверхностей

Задача удаления невидимых поверхностей является классической задачей компьютерной графики, и, начиная с 70-х годах было предложено большое количество алгоритмов для ее решения. Удаление невидимых поверхностей основывается на том факте, что если пользователь не видит некоторый объект, то нет необходимости этот объект визуализировать, то есть визуализировать нужно только полностью или частично видимые объекты.

12.1. Общие сведения об удалении скрытых линий и поверхностей

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

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

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

  1. Алгоритмы, работающие в объектном пространстве (ОП). Основной принцип этих алгоритмов - каждая из n граней сравнивается с оставшимися (n-1) гранями;

они имеют дело с физической системой координат, в которой описаны эти объекты;

весьма точны (полученные изображения можно легко увеличить в несколько раз без потери качества);

объем вычислений теоретически - n2, где n – количество объектов.

  1. Алгоритмы, работающие в пространстве изображения (ПИ). Основной принцип этих алгоритмов - надо определить, какая из n граней видна в каждой точке экрана, т.е. каждый объект сравнивается с каждым пикселем экрана:

имеют дело с системой координат экрана;

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

объем вычислений теоретически – , где N – количество пикселов на экране.

12.2. Алгоритм сортировки по глубине (оп)

Алгоритм сортировки по глубине относится к алгоритмам, работающим в объектном пространстве.

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

Шаги алгоритма:

  1. Упорядочение всех объектов в соответствии с увеличением их z-координат.

  2. Разрешение всех неопределенностей, которые возникают при перекрытии z-оболочек (исследуется дополнительно x-оболочка (рис. 12.2)).

  3. Преобразование каждого из объектов в растровую форму в порядке уменьшения z-координаты.

Рис. 12.2 Разрешение неопределенностей

На третьем рисунке неопределенностей нет, так как z-оболочки не перекрываются. На первом и втором происходит перекрытие z-оболочек, поэтому дополнительно исследуются x-оболочки. На втором рисунке они не перекрываются, а на первом перекрываются. В этом случае исследуются y-оболочки.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]