我有一大组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" s" 0" s被排除在外。在这种情况下,我担心算法会在底部行意外地包含" 0"因为它们的两边都有" 1" s。请注意," 0" s将始终位于边缘,因此我们不必担心几何体中的孔。
之后,我需要能够旋转几何体并找到它与平面的交点。我非常确定我能够处理旋转和交叉部分,但请记住这一点。
我可以通过为表面上的所有点创建每个三角形来强制解决问题,然后手动剔除包含排除点的任何三角形。但是数据集可能非常大,所以我希望有一个更优雅的解决方案。
答案 0 :(得分:0)
如果您只对封闭的几何图形感兴趣并且每个都在平面上,您是需要网格/三角形还是只需要一组多边形?
将0,1数据转换为二进制图像并运行轮廓算法非常简单,请参阅OPENCV
答案 1 :(得分:0)
我认为你正在寻找Point Cloud Library。