判断点P是否在多边形中是计算几何中一个非常基本但是十分重要的算法。
判断方法也有好几种。
当你不确定多边形是否为凸多边形的时候采用射线法和转角法
1.射线法:
以点P为端点,向左方作射线L,由于多边形是有界的,所以射线L的左端一定在多边形外,考虑沿着L从无穷远处开始自左向右移动,遇到和多边形的第一个交点的时候,进入到了多边形的内部,遇到第二个交点的时候,离开了多边形,……所以很容易看出当L和多边形的交点数目C是奇数的时候,P在多边形内,是偶数的话P在多边形外。
这种方法很难处理一种情况:
那就是交点正好在多边形的一个顶点或者多边形的一条正好在射线上时。