判断点是否在三角形内

时间:2023-01-09 10:23:55

判断点是否在三角形内,最常使用的算法是检查点是否在三角形三条边的同一侧。

判断点是否在三角形内

将三条边视作三条有向直线(注意方向要一致),然后判断点与有向直线的关系。

先了解下有向直线:


计算过程是先根据两点计算出直线方程 a*x + b*y + c = 0 的三个参数a,b,c,然后再计算d = a*x + b*y + c,
d<0表示在直线左侧,d=0表示在直线上,d>0表示在直线右侧。

因为不确定三角形是顺时针还是逆时针,所以不需要知道d值是正还是负,只要计算其乘积>=0即可。

判断点在三角形内的实现代码如下: