我有一个3d积分世界。我指向它a [x,y,z]
和方向(方位角θ
和极角)我想得到点b [x2,y2,z2]
我的光线(从我的a
点发送到方向)会停下来。 (仅从一个点开始,仅针对一个方向)。如何在pcl中做这样的事情,是否有可能(我看到一个ray caster class但它似乎对整个世界起作用而不是点到点)?
答案 0 :(得分:1)
我认为OctreePointCloudSearch
课程可能对你有所帮助。快速查看OctreePointCloudSearch::getIntersectedVoxelIndices
方法:一旦您的点云在八叉树中组织,它允许您指定光线的原点和方向以用于光线投射。在你的情况下,原点是 a 点,方向将从方位角和极角(see this)获得
该函数将索引返回到相交体素内的点。
如果你谷歌获得该班级名称,你可以很容易地找到大量工作示例(this example将光线从云的每个点投射到相机并检查遮挡)。