要检测一个点是否在多边形中,您可以从该点投影一条线到无穷远,并查看它与多边形的多少个顶点相交......足够简单。我的问题是,如果光线在其中一个点上与多边形相交,则它被视为与两个线段相交,并被视为在多边形之外。我更改了我的函数,使其仅在光线与多边形的一个点相交时计算其中一个线段,但在某些情况下,一条线也可以与该点相交,同时仍然在外面。以这张图片为例:
如果您假设左上角的点是“无穷大”,并向其他点中的任何一个投射一条射线,它们都在多边形的一个点处相交,并且即使一个在内部,也会被视为与相同数量的顶点相交,一个在外面。
有没有办法弥补这一点,还是我只需要假设那些边缘案例不会弹出?