vcg.tri.TrivialSampler是一种三角形采样器,用于将三角形网格转换为三角形列表,并且也能将点云转换成一些三角形。
__init__(self, mesh)
初始化实例。
参数:
参数 | 类型 | 描述 |
---|---|---|
mesh | TriMesh | 三角形网格 |
sample(self, choice)
重新采样一个mesh或点云。
参数:
参数 | 类型 | 描述 |
---|---|---|
choice | string | 选项。 选择 "mesh" 将重采样一个网格;选择 "pointcloud" 将抽样一个点云。 |
返回:
一个三角形列表,在选项是 "mesh"的情况下,它将是一个与输入网格相等的列表。在 "pointcloud" 选项下,它将是将点云转换为三角形后的列表。
mesh
size
import vcg
# 导入网格
path = "mesh.obj"
mesh = vcg.TriMesh()
vcg.io.Import(mesh, path)
# 创建采样器
sampler = vcg.tri.TrivialSampler(mesh)
# 从三角形网格中获取三角形列表
triangles = sampler.sample("mesh")
print(f"A total of {sampler.size} triangles were obtained from the mesh.")
print(f"Returned {len(triangles)} triangles.")
# 从点云中获取三角形列表
points = mesh.vert.tolist()
sampler = vcg.tri.TrivialSampler(points)
triangles = sampler.sample("pointcloud")
print(f"A total of {sampler.size} points were obtained from the pointcloud.")
print(f"Converted to {len(triangles)} triangles.")