获取根本不在stl文件内的顶点

问题描述 投票:0回答:1

我正在使用

trimesh
查找网格上距离给定点最近的点,

closest_vertex, d, face_id = trimesh.proximity.closest_point(mesh, [[-5,100,0]])

这是我的代码,我从这段代码中得到了一点,它在图表上也显示得很好。但是,当我查看

stl
文件来找出点索引时,该点不存在。

任何帮助都会很棒!

我希望在 stl 中找到这个点,因为毕竟它仍然返回最近的点。

python mesh trimesh
1个回答
0
投票

根据文档

给定网格和点列表,找到任何三角形上最近的点。

因此它正在寻找修剪网格表面上最近的,而不是最近的顶点。这就是为什么您在 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, :]
    
© www.soinside.com 2019 - 2024. All rights reserved.