通常判断一个点在多边形内有五种算法:
1. 叉积法,面积法(适用于凸包)
2. 射线法,直线法, 最坏时间O(n), 通常都可以达到常数基数时间
3.回转数(也叫旋转角)法
4.改进弧长法(转角法的改进版),精度比较高
5.以多边形上的顶点划分空间网格的方法(自创,理论未完善)
下面要讨论一个在线的算法。
假设求得三个点在多边形n内,对三个点连线成一个内多边形m,如果再来一个点p,先判断p是否在m内,如果p在 n内,m外,
则p与m组成新的内多边形。再来一点Q,仿照P的求法,对Q及后面的要计算的点,做统计。
这样一种以空间换时间 的动态规划的思想。是否可行,还在研究中,期待有网友发表一下评论。