二叉空间分割


二叉空间分割是一种用于计算机图形学和算法几何学中将空间划分为较小部分的数据结构。BSP是在3D计算机图形学环境中开发的。BSP 包括诸如几何形状操作、地理空间和光线追踪等应用。

这是一个两步过程

步骤 1 - 创建 BSP 树。

步骤 2 - 显示树。

创建 BSP 树

二叉空间分割的可视化表示

二叉空间分割算法递归地将空间划分为两个半空间。因此,请记住每个多边形图形中都有一个分割区域。

了解在树中创建 BSP 的步骤 -

  • 我们将首先将算法应用于树的根节点,即 A。

  • 然后我们将 BSP 算法 B 应用于左节点,将 C 应用于右节点,其中 A 是其父节点或根节点。

  • 现在,我们开始使用 B 节点进行最左边的第二次分区,我们只需将子节点D 添加到左侧,将E 添加到右侧节点。

  • 完成最左边的节点后,我们开始使用 C 节点进行最右边的第二次分区,我们只需将节点F 添加到左侧,将 G 添加到右侧节点。

显示树

让我们以树遍历为例,

Fa, A, B, C, D, E, Fb --- (LDR)

  • 如果视点在后面,则按中序遍历树。

  • LDR 表示为

Process of left sub-tree -> Process of current-node -> Process of right sub-tree.

让我们以树的反向遍历为例,

Fb, E, D, C, B, A, Fa --- (RDL)

  • 如果视点在前面,则反向或中序遍历树。

  • RDL 表示为

Process of right sub-tree -> Process of current-node -> Process of left sub-tree.

二叉空间分割的优点

  • 在二叉树上很容易理解和实现程序。

  • 它可以提高可扩展性和优化性能。

  • 游戏行业通过基于 BSP 更新或开发整个游戏来很好地利用 BSP。

二叉空间分割的缺点

  • 生成 BSP 需要大量时间。

  • 它不能解决 VSD(视觉表面检测)问题。

结论

我们都知道二叉空间分割是一种数据结构,但借助它,我们还可以创建一棵二叉树,其中所有节点都有两个分支。此技术可用于制作 3D 游戏。例如,Doom 游戏非常流行,它是使用 BSP 算法开发的。

更新于: 2023年4月20日

4K+ 次查看

开启您的 职业生涯

通过完成课程获得认证

开始
广告