如何快速确定一个点在10000个面中的哪一个内? 本帖最后由 cuit 于 2010-12-29 10:10:52 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 List<Directory<int, int>>.Contains(new Directory<int, int>{{ x, y }}) Directory可以做几何运算么?点在面内的意义是指 面 包含 点,而不是 点 在面的各个定点上。 from q in lst where q.x1<x and q.x2>x and q.y1=<y and q.y2>=y select q; 改进数据级结构以加快判断:1、bounding box,比如每个面预先计算一个外接四方形。外接四方形可以用来迅速过滤。2、quartet tree,比如把面分类,类似东南角,西北角(西北角等还可以继续细分...)。只遍历相应类的面,可以大大加快判断。 多边形是多种多样的。比如凸多边形,单纯的判断 x,y的值域是肯定不行的linq应该实现不了我现在已经用射线法写好了判读点在多边形的算法。只是线性的list<polygon>遍历起来比较没效率。但是一时想不到更好的存储结构。 Region temp = new Region(面List);//面全部放到区域里temp.IsVisible(new PointF(X,y));//判断点是否在区域内 怎么取出两个字符之间的内容 Winform 实现禁用Alt+F4等快捷键 C#关于LIstView的问题 winform中如何使excel数据在datagridview中显示 各位大哥,有个基础问题,ASP.NET版暂停了,来这里问. 角色权限管理 js调用flash.As3方法 WPF 如何设计出这样有特色的按钮.. #紧急求助!!慕白,孟子过来接帖!C#读取的ASP文件中,截取指定的中文字符?下面有代码和程序 绑定checkbox到数据库,怎样用数据库中的内容来改变checkbox的状态 vs2008 刷新配置文件问题 关于C#遍历word文档
Directory可以做几何运算么?
点在面内的意义是指 面 包含 点,而不是 点 在面的各个定点上。
1、bounding box,比如每个面预先计算一个外接四方形。外接四方形可以用来迅速过滤。
2、quartet tree,比如把面分类,类似东南角,西北角(西北角等还可以继续细分...)。只遍历相应类的面,可以大大加快判断。
多边形是多种多样的。
比如凸多边形,单纯的判断 x,y的值域是肯定不行的linq应该实现不了
我现在已经用射线法写好了判读点在多边形的算法。
只是线性的list<polygon>遍历起来比较没效率。
但是一时想不到更好的存储结构。
temp.IsVisible(new PointF(X,y));//判断点是否在区域内