我有一个3D点云,我想对它们进行三角测量并保存为.stl文件。 我使用Delaunay进行三角测量:
points = np.array([[x[i], y[i], z[i]] for i in range(len(x))])
tri = Delaunay(points)
但我找不到可以将此对象保存到.stl文件中的库。有谁知道一个好的解决方案?
我的3D点云的描述:它只描述了一个表面,因此对于每个(x,y),只有一个z值。
也许我可以尝试编写自己的STL-saver,但是因此我必须知道tri.simplices究竟返回了什么:正如我在文档中看到的那样,我得到了我的点的索引,它形成了一个三角形 - 但是三.simplices给我一组 4 索引;我预期3代替(因为三角形有3个顶点)?!
编辑: 哦该死的,我只知道为什么我得到4个指数:它是一个四面体。但我不想从我的点云中取出四面体 - 正如我所说的点云是一个表面,我也只想接收一个“表面” - 网格,但没有“坚实” - 网格。这怎么可能?
顺便说一下:我刚刚编写了自己的STL-writer,它按预期工作 - 但它只是ascii-format ...有谁知道如何保存为二进制格式?