Python-Trimesh库的使用方法
讲解了Trimesh的一些基本使用方法,以及其函数参数的详解!
·
Python-Trimesh库的使用方法
Trimesh是一个纯Python(2.7-3.5+)库,用于加载和使用三角形网格。该库的目标是提供一个功能齐全、经过良好测试的Trimesh对象,允许简单的操作和分析,风格与Shapely库中的Polygon对象相同。下面是一些相关的使用方法!
模型加载
mesh = trimesh.load(obj_path)
vertices和faces输出
v = mesh.vertices
f = mesh.faces
#这样得到的v,f格式是trimesh 内置的格式,不能直接用于其它计算,需要转换为numpy
v1 = np.array(v)
f1 = np.array(f)
vertices和faces转化为模型并显示
obj = trimesh.Trimesh(vertices = v1, faces = f1)
obj.show()
#然后点击a展示坐标轴,w只展示模型线条
采样表面点并计算最近点
"""
tgt_mesh:采样的mesh
sampled_points_num:采样点数目
gt_surface_pts:采样点坐标
face_index:采样点对应的face索引
"""
gt_surface_pts, face_index = trimesh.sample.sample_surface_even(tgt_mesh, sampled_points_num)
"""
src_mesh:目标的mesh
gt_surface_pts:要计算最近点的点
pred_surface_pts:得到的在三角面片上的最近点
dist_pred_gt:点到最近三角面片的距离
triangle_id:最近三角面片的索引
"""
pred_surface_pts, dist_pred_gt, triangle_id = trimesh.proximity.closest_point(
src_mesh, gt_surface_pts)
用齐次变换矩阵变换网格
# matrix((4,4)float) -齐次变换矩阵
mesh = trimesh.load(obj_path)
mesh = mesh.apply_transform(matrix)
其他的Trimesh函数详解及使用方法可查询官网!
更多推荐
已为社区贡献2条内容
所有评论(0)