点到三角形(二维平面)的距离 算法笔试python
不确定理解的对不对,仅供参考
点可能在三角形内,也可能在三角形外,点在三角形内则返回0;在三角形外则返回点到三角形的最短距离。
三角形三个点为(A,B,C),另外一点为P
思路是:利用面积来计算
如果点在三角形内:
则该点P与点ABC组成的三角形PAB,PAC,PBC面积之和等于ABC,包括点在边上的情况。
如果点在三角形外:
则计算PAB,PAC,PBC的面积和ABC的面积以及各边边长,利用面积等于底×高/2,可以求出距离d。点到AB的距离dAB:
dAB=2*PAB/AB;
PAB表示三角形PAB的面积
原创
2022-04-11 17:57:35 ·
2247 阅读 ·
0 评论