判断点是否在三角形内

来源:互联网 发布:wow60 n服数据库 编辑:程序博客网 时间:2024/05/29 07:07

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


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

先了解下有向直线:

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

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

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


原文出处:点击打开链接
0 0
原创粉丝点击