据我所知,找到三维点到三角形之间距离的方法是检查该点是否位于三角形的平面内,因此该距离将是到三角形平面的最近距离,否则,如果该点位于三角形之外,则该距离将为到三角形边缘之一的最近距离。
对于上面的方法,只有一个问题是我不知道如何检测一个点是否位于三角形的平面内。
或者还有其他更好的方法可以找到距离吗?
如果你有一些代码示例会更有帮助。
你可以按照这个非常简单的方法:作为输入,你得到了三角形的3个顶点A、B和C以及一个点p。得到平面的法向量n:
n = (A - B) x (C - B)
然后要检查p是否属于平面,只需检查向量
m = (P - B) x (P - C)
与n成比例。