
<aside> 💡
八叉树: OCTree

基本定义
将一个立方体划分为8个小立方体,我们称为体元。在八叉树中如果被划分的8个体元具有相同的属性,则该体元构成一个叶节点;否则继续对该体元剖分成8个子立方体,依次递剖分。可以看作树状结构图,每个根节点有8个子节点。
八叉树叶子节点代表了分辨率最高的情况。例如分辨率设成0.01m,那么每个叶子就是一个1cm见方的小方块。
用八叉树来干什么?
想象一个立方体,我们最少可以切成多少个相同等分的小立方体?答案就是8个。再想象我们有一个房间,房间里某个角落藏着一枚金币,我们想很快的把金币找出来,聪明的你会怎么做?我们可以把房间当成一个立方体,先切成八个小立方体,然后排除掉没有放任何东西的小立方体,再把有可能藏金币的小立方体继续切八等份….如此下去。因此,Octree就是用在3D空间中的场景管理,可以很快地知道物体在3D场景中的位置,或侦测与其它物体是否有碰撞以及是否在可视范围内。
<aside> 🥽
实现八叉树的步骤:
</aside>
上面四步,用图片表示为如下

<aside> 💡
</aside>
总结:输入带有法向量的点云数据,输出为三角形的mesh网格模型
核心思想是点云代表了物体表面的位置,其法向量代表了内外的方向。通过隐式地拟合一个由物体派生的指示函数,可以给出一个平滑的物体表面的估计。
物体派生的指示函数如下: