判断点是否处于多边形内的最佳方法(适用于任意多边形包括凹凸边形)
资 源 简 介
本例子在VC6.0上编写了判断点是否处于多边形内的最佳方法,它和一般的叉乘判别法,角度判别法,面积判别法不同,它适用于任意多边形(包括凹凸边形)。它的基本思想就是:假设需要判定的点P,通过点P水平向左做射线,如果P在多边形内部,那么这条射线与多边形的交点必为奇数,反之,交点个数为偶数。所以,我们可以顺序考虑多边形的每条边,求出交点的总个数。当然,存在一些特殊情况,例如射线刚好和多边形端点相交。对于一些特殊情况,算法也有所考虑,并一一解决。具体见算法里的注释即可。
文 件 列 表
水平垂直交叉点数判别法(适用于任意多边形包括凹凸边形)
Debug
22.cpp
22.dsp
22.dsw
22.ncb
22.opt
22.plg