求点是否在任意多边形范围内[转]
方法一:适用于凸多边形
适用于凸多边形的算法有很多种,比如计算该点和所有顶点连线的夹角和为360度,面积法,向量法等
方法二:适用于任意多边形(凸多边形和凹多边形)
以该点为端点的任意射线与多边形的交点个数为偶数则在多边形范围外,反之则在多边形范围内
private bool IsPointInRange(double[] point, List<double[]> coorData) { int i = 0; int j = coorData.Count - 1; int c = 0; for (; i < coorData.Count; j = i++) { if (((coorData[i][1] > point[1]) != (coorData[j][1] > point[1])) && (point[0] < (coorData[j][0] - coorData[i][0]) * (point[1] - coorData[i][1]) / (coorData[j][1] - coorData[i][1]) + coorData[i][0])) { c = 1 + c; } } if (c % 2 == 0) { return false; } else { return true; } }
饮水思源,不忘初心。
要面包,也要有诗和远方。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
2013-03-15 UML序列图总结(转)
2013-03-15 UML类图几种关系的总结(转)
2013-03-15 UML用例图总结
2013-03-15 UML类图关系大全