问题:
给定:与 3d k 边非凸多边形强相关的 n 个点,其中 n >> k
Find:与点的原始几何形状匹配的最佳拟合凹壳
尝试的解决方案:
警告:伪代码
segments = []
for each point in image:
#segment points into planes via comparing approximate normals
#actual implementation is more complicated
findSegment(image,point)
for each segment in image:
#transform coordinate system to be a
#2D-plane perpendicular to the normal of segment
transform(segment, segment.normal)
edges = findEdges(segment)
polygonHull = reconstructPolygon(edges)
#transform back to original coordinate system
transform(segment, segment.normal)
例子:
___
| | |
| \__ ==> | ___
| | |__/ /_____
|_______| / / \_
/ /_____/
/
输入将只是一个高密度点云,它是多边形平面内近似均匀分布的随机点,带有一点噪音。
输出将是 3d 点中多边形的顶点。
我的问题是,有没有更好的方法来解决这个问题?上述解决方案的问题是这些点可能是嘈杂的。此外,将点光栅化为 2d 然后执行边缘查找非常昂贵。
任何指针都会很棒。提前致谢