![](/img/trans.png)
[英]How to create point cloud file(.ply) from vertices stored as numpy array?
[英]Create a 3D ply file with faces and vertices from numpy array containing vertices
我有以下一组顶点,我想创建一个具有线和顶点的 3D 层文件(如果还有面就好了)
vertices =
[[ 2.304688 -1.882748 -2.1874995]
[-3.007812 1.6 -2.1875005]
[-3.007812 -1.882748 -2.1875005]
[ 2.304688 -1.882748 -2.1874995]
[ 2.304688 1.6 -2.1874995]
[-3.007812 1.6 -2.1875005]
[-3.007812 -1.882748 -2.1875005]
[-3.007813 1.6 2.9687495]
[-3.007813 -1.882748 2.9687495]
[-3.007812 -1.882748 -2.1875005]
[-3.007812 1.6 -2.1875005]
[-3.007813 1.6 2.9687495]
[-3.007813 -1.882748 2.9687495]
[ 2.304687 1.6 2.9687505]
[ 2.304687 -1.882748 2.9687505]
[-3.007813 -1.882748 2.9687495]
[-3.007813 1.6 2.9687495]
[ 2.304687 1.6 2.9687505]
[ 2.304687 -1.882748 2.9687505]
[ 2.304688 1.6 -2.1874995]
[ 2.304688 -1.882748 -2.1874995]
[ 2.304687 -1.882748 2.9687505]
[ 2.304687 1.6 2.9687505]
[ 2.304688 1.6 -2.1874995]
[ 2.304687 1.6 2.9687505]
[-3.007813 1.6 2.9687495]
[-3.007812 1.6 -2.1875005]
[-3.007812 1.6 -2.1875005]
[ 2.304688 1.6 -2.1874995]
[ 2.304687 1.6 2.9687505]]
现在,我可以使用以下命令创建包含顶点的层文件:
pcd = o3d.geometry.PointCloud()
pcd.points = o3d.utility.Vector3dVector(vertices)
o3d.visualization.draw_geometries([pcd])
当我在 Open3D 中显示它时,我显然只能看到顶点。 如果可能的话,我希望能够看到线条和面孔。
仅从其顶点重构网格是不可能的。 您可以做的是创建点的凸包的网格。 查看SciPy 的 Delaunay 。
要编写 PLY 文件(和许多其他格式),您可以使用meshio 。 (免责声明:我写了meshio。)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.