Octree

PCL之Octree理解心得

参考博客:https://www.yuque.com/huangzhongqing/pcl/habl9h
https://blog.csdn.net/weixin_43236428/article/details/103454791?utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-1.control&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-1.control

从空间索引开始讲起

点云数据是表征目标表面的海量点的集合,不具备传统网络数据的集合拓扑信息(通过激光等扫描得到的点云数据一般都是一部分的数据,后期需要进行特征匹配才能合并成一个完整的个体。因此扫描出来的点云数据对于整个结构的拓扑特性等特征是缺失的)。所以点云数据处理中最为核心的问题就是建立离散点间的拓扑关系,实现基于邻域关系的快速查找。
而八叉树便是一种基于划分空间的空间索引结构。

八叉树结构图

八叉树(Octree)结构

八叉树是一种描述三维空间的树状数据结构,每一个节点表示一个正方体的体积元素,每一个节点有八个子节点,这八个子节点加和得到的体积便是父节点的体积。
八叉树体积结构图

实现原理

  1. 首先设置最大的递归深度,目的:为了避免有不可分割的情况出现
  2. 找出场景的最大尺寸,并以此尺寸建立第一个立方体,然后开始对立方体进行划分;
  3. 假如没有达到最大递归深度,就进行细分八等份,在将改立方体所装的单位元素分担给八个子立方体;
  4. 若发现子立方体所分配到的单位元素数量不为0且跟父立方体是一样的,则该子立方体停止细分,因为跟据空间分割理论,细分的空间所得到的分配必定较少,若是一样数目,则再怎么切数目还是一样,会造成无穷切割的情形。
  5. 重复步骤3,直到达到最大递归深度。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值