crop
方法允许按照给定的范围对三角网格进行裁剪。
crop(min_bound, max_bound)
min_bound
:三维矢量作为最小边界。max_bound
:三维矢量作为最大边界。返回裁剪后的新 TriangleMesh
对象。
import open3d as o3d
import numpy as np
# 创建一个带有100个点和200个三角形的三角网格
vertices = np.random.rand(100, 3)
triangles = np.random.randint(0, 100, (200, 3))
mesh = o3d.geometry.TriangleMesh(o3d.utility.Vector3dVector(vertices), o3d.utility.Vector3iVector(triangles))
# 裁剪三角网格
min_bound = np.array([0.2, 0.2, 0.2])
max_bound = np.array([0.8, 0.8, 0.8])
mesh_crop = mesh.crop(min_bound, max_bound)
# 可视化结果
o3d.visualization.draw_geometries([mesh, mesh_crop])
在此示例中,我们创建了一个带有100个点和200个三角形的随机三角网格,并使用 crop
方法将其裁剪为一个立方体。最后,我们使用 draw_geometries
函数可视化结果。
裁剪后的效果如下图所示: