Построение BSP-дерева Для большей наглядности мы ознакомимся с BSP-деревьями на двумерном примере, в котором фигурируют ребра. Поскольку структура этого дерева не зависит от размерности объектов, которые в нем содержатся, то мы сразу же распространим понятие BSP-дерева на полигоны в трехмерном пространстве.

На рис. 13.7 приведены три полигона на плоскости, а также «глаз», расположенный в некоторой точке. Вопрос заключается в следующем: что видит этот глаз? (Если вы предпочитаете иметь дело с трехмерным пространством, то представьте, что наблюдатель стоит перед тремя большими каменными «колоннами», поднимающимися из земли. Поперечные сечения этих колонн и изображены на рисунке. Вопрос формулируется так: какие части стенок колонн видны, а какие заслонены? Нарисуйте результирующую сцену для этого примера.) Все ребра на рисунке пронумерованы, так же как внешние нормали к каждому ребру. Мы хотим включить все ребра в дерево так, чтобы плоскость была разделена (разбита) на неперекрывающиеся полигональные области.

Совокупность ребер, размещаемых в BSP-дереве, - двумерный случай

Рис. 13.7. Совокупность ребер, размещаемых в BSP-дереве, - двумерный случай Начнем построение дерева для данной совокупности ребер с ребра, например номер 1. Продолжим это ребро в обоих направлениях, вследствие чего оно разделит плоскость на два полупространства (так для общности мы будем называть фактические полуплоскости)"opengl1_884.html">⇐ Предыдущая| |Следующая ⇒