Python之Trimesh庫的使用方式
Python Trimesh庫的使用
Trimesh是一個純Python(2.7-3.5+)庫,用于加載和使用三角形網(wǎng)格。
該庫的目標(biāo)是提供一個功能齊全、經(jīng)過良好測試的Trimesh對象,允許簡單的操作和分析,風(fēng)格與Shapely庫中的Polygon對象相同。
下面是一些相關(guān)的使用方法!
模型加載
mesh = trimesh.load(obj_path)
vertices和faces輸出
v = mesh.vertices f = mesh.faces #這樣得到的v,f格式是trimesh 內(nèi)置的格式,不能直接用于其它計算,需要轉(zhuǎn)換為numpy v1 = np.array(v) f1 = np.array(f)
vertices和faces轉(zhuǎn)化為模型并顯示
obj = trimesh.Trimesh(vertices = v1, faces = f1) obj.show() #然后點擊a展示坐標(biāo)軸,w只展示模型線條
采樣表面點并計算最近點
"""
tgt_mesh:采樣的mesh
sampled_points_num:采樣點數(shù)目
gt_surface_pts:采樣點坐標(biāo)
face_index:采樣點對應(yīng)的face索引
"""
gt_surface_pts, face_index = trimesh.sample.sample_surface_even(tgt_mesh, sampled_points_num)
"""
src_mesh:目標(biāo)的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)用齊次變換矩陣變換網(wǎng)格
# matrix((4,4)float) -齊次變換矩陣 mesh = trimesh.load(obj_path) mesh = mesh.apply_transform(matrix)
其他的Trimesh函數(shù)詳解及使用方法可查詢官網(wǎng)!
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
matplotlib繪制兩點間連線的幾種方法實現(xiàn)
本文主要介紹了matplotlib繪制兩點間連線的幾種方法實現(xiàn),主要介紹了4種方法,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-03-03
numpy.transpose對三維數(shù)組的轉(zhuǎn)置方法
下面小編就為大家分享一篇numpy.transpose對三維數(shù)組的轉(zhuǎn)置方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-04-04
Python SVM(支持向量機(jī))實現(xiàn)方法完整示例
這篇文章主要介紹了Python SVM(支持向量機(jī))實現(xiàn)方法,結(jié)合完整實例形式分析了基于Python實現(xiàn)向量機(jī)SVM算法的具體步驟與相關(guān)操作注意事項,需要的朋友可以參考下2018-06-06
Pycharm 創(chuàng)建 Django admin 用戶名和密碼的實例
今天小編就為大家分享一篇Pycharm 創(chuàng)建 Django admin 用戶名和密碼的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-05-05

