求一个算法 多边形 怎么计算当前点在 区域内 还是区域外比如我在地图上 画一个 五角星 ( 还可能是 不规则多边形, 有凹进, 也有凸出 ),在给一个点的 经纬度 ,怎么知道这个点在 五角星内 还是五角星外? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 有3种方法,楼上这种属于计算量最小的其他两种1,面积法。就是看所有边和目标点组成的三角形面积和是否等于总的多边形面积,如果相等,则在内部。反之在外部。这种方法计算量较大,用到的主要计算是查乘。2,夹角和法。判断所有边和目标点的夹角和是否为360度。计算量比上面这种方法稍微小点,用到主要是点乘和求模计算。参考http://hi.baidu.com/caokyo/item/972178891e879b57e73d19eb 本帖最后由 caozhy 于 2012-10-31 11:49:16 编辑 我猜ssp2009 想表达的是 在计算之前 我们是无法知道顶点是否在图形内 这一个条件吧 本帖最后由 caozhy 于 2012-10-31 12:18:23 编辑 对于闭合的图形,有n个点,(x0, y0) (x1, y1) (x2, y2) ... (xn, yn)那么点 (max(x0, x1, x2, ... xn) + 1, max(y0, y1, y2, ... yn) + 1) 必然在图形外。 例如图形是五角星 可以把五角星放在一个x y 坐标的平面图中 想通过循环统计出在这个图形是由多少个点组成,一个点了可以定义一个像素标准 例如(1,1) 让后再用for循环 查找你的点 是不是在这个统计的点里面,或者是范围 因为可能有小数。 Mark一记。。楼上的求∩。都知道~ 一样成立你注意,中间这部分是多边形的外部。参考:http://zh.wikipedia.org/wiki/多边形#.E7.B0.A1.E5.96.AE.E5.A4.9A.E9.82.8A.E5.BD.A2 那这种算法 具体如何实现呢Chinajiyong 给出的连接中的给出的射线法实现方案说只支持简单多边形 本帖最后由 caozhy 于 2012-10-31 16:38:36 编辑 弱智问题,用一个按钮控制label的显示与隐藏 选择题字符判断 已经重写了类的GetHashCode()和Equals(),为什么做字典的键时依然无效? 请问在匹配字符串下插入空格怎么写? c#2.0中tablelayoutpanel做的表格 如何使其每行背景颜色不同 或者间隔颜色 从数据库里抽数据到文本文件里怎么样操作 数据库连接字符串的问题 如何动态获取Datagrid的选中行的各字段的值?? 如何将 字符串(字符串中是二进制的字符串形式) 转换成 二进制,有挑战性哦 thisAdapterSave.Fill 老是出错! 跪求哪位大哥给个C# tcpclient异步获取网页的源码的例子 关于表格的第三方控件
其他两种
1,面积法。就是看所有边和目标点组成的三角形面积和是否等于总的多边形面积,如果相等,则在内部。反之在外部。这种方法计算量较大,用到的主要计算是查乘。
2,夹角和法。判断所有边和目标点的夹角和是否为360度。计算量比上面这种方法稍微小点,用到主要是点乘和求模计算。
参考http://hi.baidu.com/caokyo/item/972178891e879b57e73d19eb
对于闭合的图形,有n个点,(x0, y0) (x1, y1) (x2, y2) ... (xn, yn)
那么点 (max(x0, x1, x2, ... xn) + 1, max(y0, y1, y2, ... yn) + 1) 必然在图形外。
那这种算法 具体如何实现呢Chinajiyong 给出的连接中的给出的射线法实现方案说只支持简单多边形