open3d.geometry.TriangleMesh
类中的属性,用于存储三角形网格的顶点坐标。
vertices
属性是一个具有 (n, 3)
形状的Numpy数组,其中 n
是三角形网格的顶点数量。每行包含一个顶点的 3D 坐标。
可以通过以下方式访问 vertices
:
import open3d as o3d
mesh = o3d.geometry.TriangleMesh()
print(mesh.vertices)
同样,可以使用以下方式为 vertices
赋值:
import open3d as o3d
import numpy as np
mesh = o3d.geometry.TriangleMesh()
vertices = np.array([[0, 0, 0], [0, 0, 1], [0, 1, 0]])
mesh.vertices = o3d.utility.Vector3dVector(vertices)
print(mesh.vertices)
vertices
的坐标原点和坐标系可能不同于其他三角形网格库。在使用 vertices
中的坐标时,请注意此差异。vertices
进行更改,则必须执行 mesh.compute_vertex_normals()
来更新法线向量。以下示例演示如何创建三角形网格并访问其 vertices
属性:
import open3d as o3d
import numpy as np
# 创建一个简单的三角形网格
mesh = o3d.geometry.TriangleMesh()
vertices = np.array([[0, 0, 0], [0, 0, 1], [0, 1, 0]])
triangles = np.array([[0, 1, 2]])
mesh.vertices = o3d.utility.Vector3dVector(vertices)
mesh.triangles = o3d.utility.Vector3iVector(triangles)
# 打印顶点坐标
print(mesh.vertices)
输出结果如下:
[[0. 0. 0.]
[0. 0. 1.]
[0. 1. 0.]]