对于我的项目,我需要测量两个 STL 文件之间的距离。我编写了一个脚本,允许读取文件,将它们相对于彼此放置在所需的位置。现在,在下一步中,我需要检查一个物体到另一个物体的距离。库上是否有可用的函数或脚本允许我执行此过程?因为那时我想要定义诸如互穿面积、最大负距离等指标,所以我需要首先检查这些对象之间的距离,看看是否存在网格交叉并测量该距离。我输入了要测量距离的 2 个对象组合的 url:
https://i.stack.imgur.com/y5hFT.jpg https://i.stack.imgur.com/y5hFT.jpg
Pyvista 提供了一种非常简单的计算方法:
import pyvista as pv
import numpy as np
mesh_1 = pv.read(**path to mesh 1**)
mesh_2 = pv.read(**path to mesh 2**)
closest_cells, closest_points = mesh_2.find_closest_cell(mesh_1.points, return_closest_point=True)
d_exact = np.linalg.norm(mesh_1 .points - closest_points, axis=1)
print(f'mean distance is: {np.mean(d_exact)}')
有关更多方法和示例,请查看:
https://docs.pyvista.org/examples/01-filter/distance- Between-surfaces.html#using-pyvista-filter https://docs.pyvista.org/examples/01-filter/distance-between-surfaces.html#using-pyvista-filter
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)