空间数据结构笔记:层次包围盒树(Bounding Volume Hierarchy Based On Tree)

1 总览

  • 层次包围盒树(BVH树)是一棵多叉树,用来存储包围盒形状。
  • 它的根节点代表一个最大的包围盒,其多个子节点则代表多个子包围盒。
  • 为了统一化层次包围盒树的形状,它只能存储同一种包围盒形状

2 AABB包围盒树(轴对齐包围盒)

  • 把不同形状粗略用AABB形状【记长方形】围起来看作一个AABB形状(为了统一化形状),然后建立层次AABB包围盒树

3 球体包围盒数

  1. 计算出包围所有三角边顶点的最小球体包围盒,作为根节点
  2. 以球心为坐标系原点,其坐标系X轴划分出在该X轴左右的三角形,并将这些分别放入左子节点、右子节点中
  3. 重复步骤1、2,最后得到一棵球体树

参考内容:空间数据结构(四叉树/八叉树/BVH树/BSP树/k-d树) - KillerAery - 博客园 (cnblogs.com)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
层次包围盒算法(Hierarchical Bounding Volume Hierarchy)是一种用于加速射线与物体碰撞检测的算法。它通过构建一个层次结构,将场景中的物体划分为多个包围盒,从而减少射线与物体的碰撞检测次数,提高检测效率。 典型的层次包围盒算法有以下几种: 1. BVH(Bounding Volume Hierarchy):BVH是一种基于二叉树结构的层次包围盒算法。它将场景中的物体划分为一系列包围盒,并通过递归地将这些包围盒组织成二叉树。每个节点的包围包围了其子节点的包围盒,从而形成了一个层次结构。在进行射线与物体碰撞检测时,可以通过遍历BVH树来快速确定与射线相交的物体。 2. AABB树(Axis-Aligned Bounding Box Tree):AABB树是一种基于轴对齐包围盒的层次包围盒算法。它将场景中的物体划分为一系列轴对齐包围盒,并通过递归地将这些包围盒组织成树形结构。每个节点的包围盒与坐标轴平行,从而简化了碰撞检测的计算。在进行射线与物体碰撞检测时,可以通过遍历AABB树来快速确定与射线相交的物体。 3. KD树(K-Dimensional Tree):KD树是一种基于k维空间划分的层次包围盒算法。它将场景中的物体划分为一系列k维空间的区域,并通过递归地将这些区域组织成树形结构。每个节点的划分平面与某个坐标轴平行,从而实现了对k维空间的快速划分。在进行射线与物体碰撞检测时,可以通过遍历KD树来快速确定与射线相交的物体。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

UQI-LIUWJ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值