0

我有一个 3d 点世界。我有指向它a [x,y,z]和方向(方位角θ和极角)我想得到b [x2,y2,z2]我的光线(从我的点发送a到方向)将停止的点。(仅从一点且仅针对一个方向)。如何在 pcl 中做这样的事情,是否有可能(我看到一个射线投射器类,但它似乎在整个世界上都有效,而不是点对点)?

4

1 回答 1

1

我认为这OctreePointCloudSearch门课可能会对你有所帮助。快速浏览一下这个OctreePointCloudSearch::getIntersectedVoxelIndices方法:一旦你的点云被组织成一个八叉树,它允许你指定用于光线投射的光线的原点和方向。在您的情况下,原点将是点a,方向将从方位角和极角获得(请参阅此

该函数将索引返回到相交体素内的点。

如果您在谷歌上搜索该类名称,您可以轻松找到大量工作示例(此示例从云的每个点向相机投射光线并检查遮挡)。

于 2012-07-27T08:47:25.610 回答