在3D中查找点到三角形之间的距离

时间:2015-03-24 01:48:04

标签: c++ algorithm 3d geometry

据我所知,找到三维点到三角形之间的距离的方法是检查点是否位于三角形平面内,所以距离最接近三角形的平面距离,否则如果该点位于三角形之外,则距离与三角形边缘之一的距离最近。

上述方法只有一个问题是我不知道如何检测一个点是否位于三角形平面内。

或者还有其他更好的方法可以找到距离吗?

如果您有一些代码示例会更有帮助。

1 个答案:

答案 0 :(得分:0)

你可以按照这个非常简单的方式:作为输入你有3个顶点A,B和C的三角形和一个点P.获得平面n的法向量:

n = (A - B) x (C - B)

然后检查P是否属于平面,只需检查矢量

m = (P - B) x (P - C)

与n成正比。