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

Тесты глубины Тест 1.

Это тест применяется для объектов в трехмерном пространстве. Используя центральную проекцию вдоль оси Z, вычисляется расстояние dp от точки наблюдения P0 до проверяемой точки P и d1 до точки пересечения грани P1 с направлением проекции. Если dp> d1, то точка заслонена гранью и невидима.

Рисунок 10.3. Тест глубины 1

Тест 2.

Это применяется для объектов как в трехмерном пространстве, так и в плоскости при ортогональной проекции (при  ) для двух граней или точки и грани.

Пусть f1 и f2 - две грани, pr(f1) и pr(f2) - их проекции на картинную плоскость.

Первым этапом является нахождение точки пересечения какого-либо ребра pr(f1) с ребром рr(f2) - .

Затем находятся точки  на гранях f1 и f2, которые проецируются в точку p12. Для этого координаты xp и yp подставляются в уравнения плоскостей f1 и f2, откуда получаем z1 и z2. Если z1<z2, то грань f1 ближе к наблюдателю, чем грань f2.

Тест 3. Проверка сканирующей прямой

В этом тесте не недо искать точку пересечения ребер проекции, как в тесте 2. Предполагается, что в картинной плоскости проведена сканирующая линия, для которой .

Рисунок 10.5. Тест глубины 3 - проверка сканирующей прямой

Сканирующая прямая является проекцией некоторой сканирующей плоскости, параллельной оси Z. Сканирующая плоскость в свою очередь разрезает грани трехмерных фигур. Для каждой грани каждой фигуры определяются Z-координаты точек, проекции которых лежат на сканирующей прямой путем подстановки координат (х,у), где , в уравнение плоскости соответствующей грани. Тогда та грань из тех, которые пересекают сканирующую плоскость, является самой ближней к наблюдателю, для которой наименьшая Z-координата является наибольшей среди всех наибольших Z-координат других граней на интервале пересечения X-координат на сканирующей линии (пробном интервале).

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

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

Все алгоритмы удаления невидимых линий (поверхностей) включают в себя сортировку. Эффективность любого алгоритма удаления невидимых линий или поверхностей в большой мере зависит от эффективности процесса сортировки. 

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

Объем вычислений для любого алгоритма, работающего в объектном пространстве, и сравнивающего каждый объект сцены со всеми остальными объектами этой сцены, растет теоретически как квадрат числа объектов (n2). Аналогично, объем вычислений любого алгоритма, работающего в пространстве изображения и сравнивающего каждый объект сцены с позициями всех пикселей в системе координат экрана, растет теоретически, как . Здесь n обозначает количество объектов (тел, плоскостей или ребер) в сцене, а N - число пикселей. Теоретически трудоемкость алгоритмов, работающих в объектном пространстве, меньше трудоемкости алгоритмов, работающих в пространстве изображения, при n<N. Поскольку N обычно равно (512)2, то теоретически большинство алгоритмов следует реализовывать в объектном пространстве. Однако на практике это не так. Дело в том, что алгоритмы, работающие в пространстве изображения, более эффективны потому, что для них легче воспользоваться преимуществом когерентности при растровой реализации.

Наиболее известными алгоритмами удаления невидимых поверхностей являются:

  • алгоритм Робертса;

  • алгоритм количественной невидимости Аппеля;

  • алгоритм приоритетов Энкарнако;

  • алгоритм сканирующей прямой Уоткинса.

  • Алгоритм z-буфера

Все эти алгоритмы используют в том или ином виде основные тесты, рассмотренные выше.

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