PCL专栏目录及须知
凹包计算多用在二维上,三维使用较少。
1.凹包计算
alpha-shape算法:
对任意的点云P,用一个半径为α的圆在点集P外滚动,当α足够大时,这个圆就不会滚到点集内部,其滚动的痕迹就是点集P的边界线。

(1)将点云投影到平面,得到二维点集P。
(2)定义一个圆(即滚球),圆半径为alpha。
(3)从点集P中任取种子点pi,计算pi同点集P内各点间的距离,并将所有与点pi间距离小于滚球直径alpha * 2的点加入点集Q(初始边界点)。
(4)从点集Q内任取种子点qi,生成同时过点pi及qi的,半径为alpha的两个外接圆Cpi,Cqi。
(5)判断两个外接圆Cpi,Cqi,若其中任意一个外接圆内,不存在点集P中的其他点(即pi及qi处在一个滚球内),那么连接pi及qi,作为凹包的其中一条边。
(6)对点集Q中所有点,依次进行(4)(5)步骤,直到所有点被处理。
(7)对点集P中所有点,依次进行(3)-(6)步骤,直到所有点被处理。
(8)得到所有连接的线条,组合成为凹包。
2.使用场景
凹包使用较少。使用多为凸包。
<
最低0.47元/天 解锁文章
121

被折叠的 条评论
为什么被折叠?



