相关疑难解决方法(0)

给定一组多边形和一系列点,找到哪些多边形是点

这是一个类似于这里的问题,但我认为如果我能用更一般的术语重新编写它会有所帮助.

我有一组多边形,这些多边形可以互相接触,重叠并可以呈现任何形状.我的问题是,给出一个点列表,如何设计一个有效的算法,找出哪些多边形是点?

点的位置的一个有趣的限制是,如果这有帮助,所有点都位于多边形的边缘.

我知道r-trees 可以提供帮助,但鉴于我正在做一系列的点,是否有更高效的算法而不是逐个计算每个点?

algorithm search computational-geometry

5
推荐指数
1
解决办法
1145
查看次数

检索包含指定点的矩形集

我无法弄清楚如何以表演方式实现这一点,所以我决定问你们.

我有一个矩形列表 - 实际上atm只有正方形,但我可能不得不稍后迁移到矩形,所以让我们坚持它们并保持它更一般 - 在二维空间中.每个矩形由两个点指定,矩形可以重叠,我不太关心设置时间,因为矩形基本上是静态的,并且有一些预先计算任何设置内容的空间(如构建树,排序,预先计算其他向量,等等).哦,如果有任何问题,我正在开发JavaScript.

对于我的实际问题:给出一个观点,我如何得到一组包含该点的所有矩形?

线性方法表现不佳.所以我寻找比O(n)更好的东西.我读了一些东西,比如在Bounding Volume Hierarchies和类似的东西上,但无论我尝试了矩形可以重叠的事实(我实际上想要得到所有这些,如果点在多个矩形内)似乎总是进入我的方式.

有什么建议吗?我错过了一些明显的事吗?BVH是否适用于可能重叠的边界?如果是这样,我如何构建这样一个可能重叠的树?如果没有,我还能用什么?如果边界在内部,外部或未确定,我不关心.

如果有人能想出任何有用的东西,比如链接或咆哮我是多么愚蠢的使用BVH而不是Some_Super_Cool_Structure_Perfectly_Suited_For_My_Problem我真的很感激!

编辑:好的,我和R-Trees玩了一下,这正是我想要的.事实上,我正在使用endy_c 建议的RTree实现http://stackulator.com/rtree/.它表现得非常好,完全满足了我的要求.非常感谢您的支持!

algorithm search geometry point-in-polygon

3
推荐指数
1
解决办法
1033
查看次数