本发明涉及一个点是否在多边形区域内的判断方法,属于计算机图像处理领域。
背景技术:
在一些应用场合需要判断一个点是否在指定的多边形区域内。比如,被监测人员是否离开设定的电子围栏区域,以及共享单车的停车位置是否在限制区域,还可以用于判断共享汽车所在区域从而进行订单分配。目前常采用射线法,具体为求解从该点发出的射线与多边形各边的交点,当交点数为奇数,则在内部,否则就在外部。这种方法用画图法来求解非常直观有效,但是在计算机系统内多边形区域是以离散点的形式来表述的,计算线与点集的交点很复杂,不适合计算机实现。因此,需要一种适合于计算机运算的判别方法。
技术实现要素:
本发明的目的是为了克服现有技术中的不足之处,提出一种一个点是否在多边形区域内的判断方法,采用向量角度的判别方法,算法简单有效,易于计算机实现。
本发明解决其技术问题所采用的技术方案是:
一个点是否在多边形区域内的判断方法,包括点p(x,y),以及由一组顶点a={(x1,y1),(x2,y2),(x3,y3)…..(xi,yi)….}组成的多边形区域,所述的判断方法包括以下步骤:
(1)计算所有顶点到点p的向量角度
(2)计算所有向量角度和
(3)当向量角度和
实施本发明的积极效果是:1、采用计算点到点之间的向量角度的方法进行判断,计算量小,易于计算机实现;2、随着边界顶点个数的增加,判据的准确度大大提高。
附图说明
图1是点位于多边形区域内部的情况;
图2是点位于多边形区域外部的情况。
具体实施方式
现结合附图对本发明作进一步说明:
参照图1-2,一个点是否在多边形区域内的判断方法,包括点p(x,y),以及由一组顶点a={(x1,y1),(x2,y2),(x3,y3)…..(xi,yi)….}组成的多边形区域。点p(x,y)为任意点,顶点a为多边形区域的顶点组成的数组,也可以是边界上分布的点集。
所述的判断方法包括以下步骤:
(1)计算所有顶点到点p的向量角度
点到点的向量角度代表这个向量的方向。
(2)计算所有向量角度和
(3)当向量角度和
如果点p处于多边形区域的内部,那么顶点到点p的向量是对称分布,那么向量角度和
1.一个点是否在多边形区域内的判断方法,包括点p(x,y),以及由一组顶点a={(x1,y1),(x2,y2),(x3,y3)…..(xi,yi)….}组成的多边形区域,其特征在于:所述的判断方法包括以下步骤:
(1)计算所有顶点到点p的向量角度
(2)计算所有向量角度和
(3)当向量角度和