cluster_connected_triangles
方法可以将三角网格中的连通三角形聚类成多个簇。
open3d.geometry.TriangleMesh.cluster_connected_triangles(distance_threshold, print_progress=False)
distance_threshold
: float
执行聚类时, 作为聚类阈值的距离.
print_progress
: bool, optional
是否输出聚类进度信息. 默认为False.
labels
: ndarray
指示每个三角形所在簇的标签.
import open3d as o3d
mesh = o3d.io.read_triangle_mesh("example.ply")
labels = mesh.cluster_connected_triangles(distance_threshold=0.1)
print(f"聚类后共有 {labels.max()+1} 个簇.")
对于给定的距离阈值, 聚类算法将查找所有距离小于此阈值的三角形, 并将它们分配到同一个簇中. 任何两个属于同一簇的三角形之间都至少有一条相邻边. 此方法的时间和空间复杂度取决于三角形数和距离阈值.
ValueError
如果 distance_threshold
非正数, 会引发此异常.
以上就是 cluster_connected_triangles
方法的详细说明文档.