Python之Trimesh库的使用方式

 更新时间:2024年06月24日 10:47:17   作者:BTWBB  
这篇文章主要介绍了Python之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函数详解及使用方法可查询官网

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 基于Python轻松制作一个股票K线图网站

    基于Python轻松制作一个股票K线图网站

    在当今这个人手一个 Web 服务的年代,GUI 程序还是没有 Web 服务来的香啊。所以本文将用Python制作一个简单的股票K线图网站,感兴趣的可以了解一下
    2022-09-09
  • pytorch学习教程之自定义数据集

    pytorch学习教程之自定义数据集

    这篇文章主要给大家介绍了关于pytorch学习教程之自定义数据集的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • centos 安装python3.6环境并配置虚拟环境的详细教程

    centos 安装python3.6环境并配置虚拟环境的详细教程

    这篇文章主要介绍了centos-安装python3.6环境并配置虚拟环境的详细教程,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2018-02-02
  • Python入门_浅谈逻辑判断与运算符

    Python入门_浅谈逻辑判断与运算符

    下面小编就为大家带来一篇Python入门_浅谈逻辑判断与运算符。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • Python面向对象程序设计多继承和多态用法示例

    Python面向对象程序设计多继承和多态用法示例

    这篇文章主要介绍了Python面向对象程序设计多继承和多态用法,结合实例形式分析了Python面向对象程序设计中多继承、多态的概念、原理、实现方法及相关操作注意事项,需要的朋友可以参考下
    2019-04-04
  • 关于jupyter代码自动补全设置方式

    关于jupyter代码自动补全设置方式

    这篇文章主要介绍了关于jupyter代码自动补全设置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-06-06
  • Python fire模块(最简化命令行生成工具)的使用教程详解

    Python fire模块(最简化命令行生成工具)的使用教程详解

    Python Fire是谷歌开源的一个第三方库,用于从任何Python对象自动生成命令行接口(CLI),可用于如快速拓展成命令行等形式。本文将通过实例为大家详细说说fire模块的使用,感兴趣的可以了解一下
    2022-10-10
  • python scipy.spatial.distance 距离计算函数  

    python scipy.spatial.distance 距离计算函数  

    本文主要介绍了python scipy.spatial.distance 距离计算函数,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • Python中的左斜杠、右斜杠(正斜杠和反斜杠)

    Python中的左斜杠、右斜杠(正斜杠和反斜杠)

    这篇文章主要介绍了Python中的左斜杠、右斜杠(正斜杠和反斜杠)的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-08-08
  • 一文搞懂python异常处理、模块与包

    一文搞懂python异常处理、模块与包

    异常就是系统中的错误,程序是无法改变和处理的,文中有给大家提到异常处理机制,模块与包的相关知识,通过实例代码给大家介绍的非常详细,需要的朋友参考下吧
    2021-06-06

最新评论