我有一个三角形网格的表面描述。我还有一个位于表面之外的点P.我怎样才能找到最接近P的表面上的点?三角形网格上的最近点
我知道如何找到最近的顶点,但最接近的点可能是顶点之间。我也想过做一个光线追踪,但这并不总是奏效,因为我不知道方向。
我有一个三角形网格的表面描述。我还有一个位于表面之外的点P.我怎样才能找到最接近P的表面上的点?三角形网格上的最近点
我知道如何找到最近的顶点,但最接近的点可能是顶点之间。我也想过做一个光线追踪,但这并不总是奏效,因为我不知道方向。
找到从这个点到每个三角形的最小距离,并找到它们的最小最小距离是唯一的方法。如果你有很多点来寻找离三角形网格最近的距离(这个网格又可能包含很多很多的三角形),这种蛮力法在计算上会非常昂贵。如果你有多个点,我建议首先为你的三角形网格创建一个八叉树。这将加快最小距离计算(多点)。
我找不到任何内置于matlab的内容,但是我找到了可能对您有帮助的说明/视频。希望别人能找到更有用的东西,如果这还不够的话。该网站是here。
看起来它必须是一个交互式解决方案。如果链接本身没有帮助,那么该链接中留下了一些可能有用的评论。
希望这会有所帮助。
您可以最小化到这个question中讨论的每个三角形的距离。
一种可能性是使用用户贡献从FileExchange: