Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры по компьютерной графике [по вопросам].doc
Скачиваний:
84
Добавлен:
02.05.2014
Размер:
783.36 Кб
Скачать

Вопрос34

Удаление скрытых линий и поверхностей: классификация алгоритмов, понятие когерентности, отсечение нелицевых граней, алгоритмы удаления линий.

Классификация по следующим основным параметрам:

1. По выбору удаляемых частей: удаление невидимых линий, ребер, поверхностей, объемов.

2. По порядку обработки элементов сцены: удаление в произ­вольном порядке и в порядке, определяемом процессом ви­зуализации.

3. По системе координат:

- алгоритмы, работающие в пространстве объектов, когда каждая из N граней объекта сравнивается с остальными N-1 гранями;

- алгоритмы, работающие в пространстве изображения, ко­гда для каждого пикселя изображения определяется, какая из N граней объекта видна;

- смешанные методы, использующие работу как в объектном пространстве, так и в картинной плоскости, методы, вы­полняющие часть работы с непрерывными данными, а часть - с дискретными.

коге­рентность (от английского coherenceсвязность). Выделяют не­сколько типов:

• когерентность в картинной плоскости — если данный пиксель соответствует точке грани Р, то скорее всего соседние пиксе­ли также соответствуют точкам той же грани;

• когерентность в пространстве объектов - если данный объект (грань) видим (невидим), то расположенный рядом объект (грань) скорее всего также является видимым (невидимым).

• временная: грани, видимые в данном кадре, ско­рее всего будут видимы и в следующем; аналогично грани, невидимые в данном кадре, скорее всего будут невидимы и в следующем.

Отсечение нелицевых граней

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

Когда объекты невыпуклые или в сцене присут­ствует несколько объектов, они могут частично перекрываться или закрывать друг друга. В та­кой ситуации применяться методы сортировки - можно по удалённости граней от точки зрения расположить их в некотором порядке и после этого изобра­жать эти грани по степени их близости.

Не­лицевые грани всегда не видны. Ребра между нелицевыми гранями также всегда не видны. Ребро между лицевой и нелицевой гранями вполне может быть и видимым.

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

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

• грань ребра не закрывает;

• грань полностью закрывает ребро, тогда она удаляется из списка рассматриваемых;

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

Вопрос 35

Удаление скрытых линий и поверхностей. Методы оптимизации, понятие когерентности.

коге­рентность (от английского coherenceсвязность). Выделяют не­сколько типов:

• когерентность в картинной плоскости — если данный пиксель соответствует точке грани Р, то скорее всего соседние пиксе­ли также соответствуют точкам той же грани;

• когерентность в пространстве объектов - если данный объект (грань) видим (невидим), то расположенный рядом объект (грань) скорее всего также является видимым (невидимым).

• временная: грани, видимые в данном кадре, ско­рее всего будут видимы и в следующем; аналогично грани, невидимые в данном кадре, скорее всего будут невидимы и в следующем.

Методы оптимизации: Отсечение нелицевых граней

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

Когда объекты невыпуклые или в сцене присут­ствует несколько объектов, они могут частично перекрываться или закрывать друг друга. В та­кой ситуации применяться методы сортировки - можно по удалённости граней от точки зрения расположить их в некотором порядке и после этого изобра­жать эти грани по степени их близости.

Не­лицевые грани всегда не видны. Ребра между нелицевыми гранями также всегда не видны. Ребро между лицевой и нелицевой гранями вполне может быть и видимым.

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

В качестве ограничивающих тел чаще всего используются пря­моугольные параллелепипеды с ребрами, параллельными координат­ным осям.

Разбиение пространства картинной плоскости

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

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

Сравнения объектов начинаются с корня. Если сравнение не да­ет положительного ответа, то все тела можно сразу отбросить. В про­тивном случае проверяются все его прямые потомки, и если какой-либо из них не дает положительного ответа, то все объекты, содер­жащиеся в нем, сразу же отбрасываются.