Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

BSP-деревья



BSP – бинарное разбиение пространства

BSP деpево - это в сущности некая стpуктуpа данных, котоpая будучи постpоена один pаз для некотоpого 3D обьекта позволяет потом без особых затpат вpемени соpтиpовать по удаленности повеpхности этого 3D обьекта пpи pассмотpении его с pазных точек зpения.

Пример: построим BSP-дерево для данного помещения

Возьмем в качестве корневого элемента сторону F

Для показа BSP-дерева можно воспользоваться алгоритмом:

Например, мы находимся в точке X. Обращаемся в корневой элемент BSP-дерева. Если мы находимся внутри по отношению к F, то мы идем по дереву во внешнюю ветвь. Выписываем элементы ветви в отдельный список D1AB1. Далее поднимаемся в F и выписываем значение F. Идем в правую ветвь в узел E. Если мы находимся внутри по отношению к E, то идем во внешнюю ветвь. Выписываем D2C1EB2C3GC2.

Определение понятия внешней стороны:

Пусть требуется определить расположение полигона 2 и 3 по отношению к полигону 1. Для этого используют тестовую функцию:

T=Ax+By+Cz+D

Если в T полигона 1 подставить узловые точки полигона 2 и все значения будут положительны, то полигон 2 относится к правой ветви BSP-дерева, если отрицательны – то к левой. Если знаки меняются, то полигоны пересекаются.

Алгоритм визуализации BSP-дерева

Если камера находится в положительном подпространстве сцены по отношению к корневому элементу, то выводим отрицательную ветвь, далее корневой элемент и в конце выводим правую ветвь и это делается для каждого узла дерева рекурсивно.






Дата публикования: 2015-02-18; Прочитано: 300 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...