问题:在尺度不确定的场景下,复杂度还是 ,后续算法也有这个问题。

这篇文章核心思想是使用八叉树和球与长方体相交算法, 解决在已知查询第二个点云 q 长度为 d 时复杂度为 问题。

  1. 4pcss4pcs 实现了不同的 ExtractPairs4pcs 与多尺度的 s4pcs 都是使用的 复杂度逐点搜索长度。
  2. 核心算法在类 IntersectionFunctorprocess 方法中。
    1. 首先将点云按照最长边缩放到单位长度
    2. 然后遍历每一个点 (primitive),将与球体相交的方块进行多次分裂
    3. 分为提前停止分裂的和最后一次分裂两部分的 长方体 (node) 存储进结果
  3. split 算法
    1. 首先将 xyz 投影到同一维度上,用 中值 的左右两侧表示第几块
    2. 首先按 x 分成 2 段
    3. 然后按 y 再将 x 的2段分为 4 段
    4. 同样 z 会得到 8 段