open3d.geometry.TriangleMesh 类的 triangles 属性表示三角形网格的面,即每个三角形由三个顶点组成的三角形网格的列表。
mesh.triangles
triangles 属性返回一个 numpy.ndarray对象,表示每个三角形的顶点索引。该数组的形状为 (n,3),其中 n 表示三角形的数量。每行包含三个整数,分别表示三角形的三个顶点在 mesh.vertices 中的索引。
以下示例演示如何访问 triangles 属性:
import open3d as o3d
mesh = o3d.geometry.TriangleMesh()
# 创建三角形网格,并设置每个顶点的坐标
mesh.vertices = o3d.utility.Vector3dVector([[0, 0, 0], [0, 1, 0], [1, 0, 0], [1, 1, 0]])
# 设置三角形的面索引
mesh.triangles = o3d.utility.Vector3iVector([[0, 1, 2], [1, 2, 3]])
print(mesh.triangles)
# 输出:
# [[0 1 2]
# [1 2 3]]
triangles 属性之前,必须先设置 vertices 属性。否则,将引发 ValueError 异常。triangles 属性的值是只读属性,无法直接更改。如果需要更改网格的拓扑结构,请使用其他方法,如 remove_triangles_by_mask 和 merge_close_vertices。