我正在使用
trimesh
查找网格上距离给定点最近的点,
closest_vertex, d, face_id = trimesh.proximity.closest_point(mesh, [[-5,100,0]])
这是我的代码,我从这段代码中得到了一点,它在图表上也显示得很好。但是,当我查看
stl
文件来找出点索引时,该点不存在。
任何帮助都会很棒!
我希望在 stl 中找到这个点,因为毕竟它仍然返回最近的点。
根据文档:
给定网格和点列表,找到任何三角形上最近的点。
因此它正在寻找修剪网格表面上最近的点,而不是最近的顶点。这就是为什么您在 STL 文件中找不到要点。
要找到最近的顶点,您可能需要为此编写一个小函数:
import numpy as np
def find_closest_vertex(mesh, poi):
idx = np.argmin(np.linalg.norm(mesh.vertices-poi, 2))
return mesh.vertices[idx, :]