Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Otvety_na_ekzamen (2).doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
661.5 Кб
Скачать
  1. Удаление невидимых линий на основе алгоритма Робертса.

Алгоритм прежде всего удаляет из каждого тела те ребра или грани, которые экранируются самим телом. Затем каждое из видимых ребер каждого тела сравниваются с каждым из оставшихся тел для определения того, какие из ребер экранируются другими объектами. Вычислительная сложность N^2. Алгоритм состоит из двух этапов:

1э) Определение не лицевых граней для каждого тела в отдельности. Пусть F – грань какого-то тела. Плоскость, несущая эту грань, разделяет пространство на 2 подпространства. Называют положительным то из них, в которое смотрит внешняя нормаль к грани (n). Если точка наблюдения в положительном подпространстве, грань считается лицевой, иначе – не лицевой и подлежит удалению. Для определения, лежит ли точка наблюдения в положительном подпространстве, используют проверку знаков скалярного произведения (l, n). l – вектор, направленный к наблюдателю, n – вектор внешней нормали. Если произведение положительное – грань является лицевой, иначе – нет.

2э) Удаление оставшихся невидимых ребер. Определить, есть ли среди оставшихся ребер т, которые экранируются другими объектами. Варианты:

            1. Ни один объект не закрывает ребро

            2. Какой-либо объект полностью закрывает ребро

            3. Ребро частично закрывается объектом. В этом случае ребро разбивается на несколько частей; видимыми являются не более двух. Исходное ребро удаляется из списка, а новые добавляются в список, после чего снова повторяется проверка.

  1. Удаление невидимых поверхностей методом трассировки лучей.

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

    1. Сцена преобразовывается в пространстве изображения;

    2. Определяется, какие именно объекты пересекаются лучом;

    3. Вычисляются и упорядочиваются z-координаты пересечения луча с объектами;

    4. Выбираются точки с наименьшим z (ближайшие к экрану)

Недостаток: каждый пиксель сравнивается с каждым объектом. Возможна оптимизация с помощью использования геометрической оболочки тела.

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

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

Алгоритм анализирует область на экране дисплея на наличие видимых элементов. Если таковых в ней нет, область закрашивается фоном; если есть – проверяется, достаточно ли прост этот объект для визуализации. В четырех случаях можно сразу принять решение о правилах закраски:

  1. Все многоугольники сцены видны по отношению к окну; (?? должно вроде: когда в окно не попадает ни одна грань, то окно закрашивается цветом фона)

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

  3. Имеется единственный охватывающий многоугольник. Закрашивается окно цветом многоугольника

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

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