我希望从使用 PCL 的激光雷达扫描得到的 270 度点云中,沿轴从原点两侧 45 度切出 90 度截面。到目前为止,我的想法是寻找两个点(在我的例子中是 x 和 z 方向,因为这些轴分别代表水平和深度方向),其比率与 45 度的切线相匹配。
但是我不确定如何以有效的方式解决这个问题;我正在考虑使用 kd 树,但我不确定如何在其中搜索两点/两点的比率。
有谁知道该怎么做,或者有更好的方法吗?
谢谢!
最佳答案
您必须触摸每个点一次以查看它是否存在于切片中。构建 kd-tree 的计算复杂度会比这更高,因此构建它没有意义。
由于点云是轴对齐的,这个问题变得更容易了。您对切线的直觉是正确的。您基本上只需要为每个点检查 x 是否大于 z。对于角度不一定为 45 度的一般情况,您会将点的 xz 坐标归一化,并使用点积角度公式计算与 z 轴的角度。
关于c++ - 从点云中切出角度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27393139/