Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Book_Sidenko.doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
6.28 Mб
Скачать

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

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

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

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

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

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

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

    • объем вычислений теоретически n2;

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

  • имеют дело с СК экрана, на котором изображается;

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

  • объем вычислений теоретически — Nn (N=4000000—10000000) пикселей.

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

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

Шаги:

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

Рис. 12.1

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

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

12.3. Алгоритм, использующий z-буфер

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

Буфер регенерации заполняется значениями при параллельном анализе z-координаты со значениями z-буфера.

Шаги:

  • В z-буфере заносятся максимально возможные значения z;

  • Буфер регенерации заполняется значениями фона;

  • Каждый объект раскладывается в растр;

если меньше значения z-буфера в элементе , то:

    1. заносится в элемент z-буфера;

    2. значение помещается в элемент буфера регенерации.

Сортировка не нужна.

Достоинства:

  • простота реализации;

  • нет сортировки.

Недостатки:

  • нужен большой объем памяти для хранения z-буфера.

О бъем памяти: информация о значении — 24 бита ( ), информация о глубине 20 бит.

буфер регенерации бит

=1,5 Мбайт

z-буфер бит

  • большая стоимость устранения лестничного эффекта.

Расчет координаты z:

Уравнение плоскости:

, .

Если в точке , то в точке ,

где ,

Пример.

Рис. 12.2

Z — Б

I

БР

Z — Б

II

БР

Z — Б

III

БР

Z — Б

IV

БР

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