判断点是否在多边形的围栏内

从这个点做一条射线,任意方向都行,计算它跟多边形边界的交点个数,如果交点个数为奇数,那么点在多边形内部,否则点在多边形外。

奇数个交点

该点在多边形内


射线与多边形有1个交点

偶数个交点

该点在多边形外


射线与多边形有2个交点

射线与顶点相交的情况

情况1

相交的顶点相连的两条边分别在射线的两侧,这种情况算 相交

这种情况算相交

射线经过顶点D,与顶点D相连的两个点是A和C,A点在射线的上面,C点在射线的下面,这种算相交

情况2

相交的顶点相连的两条边都在射线的同一侧,这种情况认为 不相交

这种情况不算相交

射线经过顶点D,与顶点D相连的两个点事A和C,A和C都在射线的下面(同一侧),这种不算相交

java代码实现

算了去找别人写的吧。。。


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容