我有一大组3D点,每个轴的间距相等 . 根据某些标准剔除了许多这些点,我想创建一个3D几何图形来帮助可视化剩下的内容 .
我已经研究了一些算法来创建一个三角形网格,例如Delaunay Triangulations或一个凸包,但我担心一些被排除的点可能会陷入几何体内部 . 例如,2D切片可能如下所示:
0 0 0 1 1 0 0
0 0 1 1 1 1 0
0 1 1 1 1 1 1
1 1 0 1 0 1 1
0 1 0 0 0 1 0
其中包括“1”并且排除“0” . 在这种情况下,我担心算法会在底部行意外地包含“0”,因为它们在两侧都有“1”接口 . 请注意,“0”始终位于边缘,因此我们不必担心几何体中的孔 .
之后,我需要能够旋转几何体并找到它与平面的交点 . 我很确定我可以处理旋转和交叉部分,但请记住这一点 .
我可以通过为表面上的所有点创建每个三角形来强制解决问题,然后手动剔除包含排除点的任何三角形 . 但是数据集可能非常大,所以我希望有一个更优雅的解决方案 .
2 回答
如果您只对封闭的几何图形感兴趣并且每个都在平面上,您是需要网格/三角形还是只需要一组多边形?
将0,1数据转换为二进制图像并运行轮廓算法非常简单,请参阅OPENCV
我想你正在寻找Point Cloud Library .