Open3D 有一个名为 TriangleMesh 的 3D 三角形网格数据结构。下面的代码展示了如何从 ply 文件中读取三角形网格并打印其顶点和三角形。
import open3d as o3d
import numpy as np
print("Testing mesh in Open3D...")
mesh_file = "../../data/Dragon 2.5_ply.ply"
mesh = o3d.io.read_triangle_mesh(mesh_file)
print(mesh)
print('Vertices:')
print(np.asarray(mesh.vertices))
print('Triangles:')
print(np.asarray(mesh.triangles))
打印结果,可以看到该三角形网格ply文件包含22125个顶点和37986条边。并且在后续打印出顶点和边的信息。
Testing mesh in Open3d...
TriangleMesh with 22125 points and 37986 triangles.
Vertices:
[[ 0.83314103 -16.05911064 26.80018806]
[ 0.85997599 -16.05556297 26.82281494]
[ 0.84169102 -16.08576775 26.84241867]
...
[ -2.196702 7.54082298 13.12879658]
[ -0.41381699 -11.41461563 23.86456871]
[ -0.17699701 -14.06028175 24.79678154]]
Triangles:
[[