Open source 检查所有线段指定距离内的所有点

Open source 检查所有线段指定距离内的所有点,open-source,computational-geometry,Open Source,Computational Geometry,给定一组点p和一组线段S,是否有一种方法可以有效地找到任何线段指定距离d内的所有点?在没有蛮力的情况下比较顺序O(| P | | S |) Bentley Ottman对一组线段之间所有交点的搜索在O(n log n)中运行,由于这个问题具有类似的味道,我想知道是否可能有类似的性能 在C++中允许的开放源码实现的加分。 < p>在点上建立网络。让每个单元格保留指向其所有邻居的指针。一切皆有可能 给定一个点,找出它所在的单元格。简单地说,从网络的左下角到该点画一条线,然后从该角单元开始,接近该点,

给定一组点p和一组线段S,是否有一种方法可以有效地找到任何线段指定距离d内的所有点?在没有蛮力的情况下比较顺序
O(| P | | S |)

Bentley Ottman对一组线段之间所有交点的搜索在
O(n log n)
中运行,由于这个问题具有类似的味道,我想知道是否可能有类似的性能

在C++中允许的开放源码实现的加分。

< p>在点上建立网络。让每个单元格保留指向其所有邻居的指针。一切皆有可能

  • 给定一个点,找出它所在的单元格。简单地说,从网络的左下角到该点画一条线,然后从该角单元开始,接近该点,从而找到它所在的单元

  • 给定一条线,找出它所穿过的所有单元格。琐碎的

  • 给定直线和偏移距离,查找道路内的所有单元。从2开始

  • 等等

  • Voronoi网络作为空间导航和查询的支持结构。所有操作都是局部的,因此具有线性复杂性。在构建图表之后。:)

    在这些点上建立一个网络。让每个单元格保留指向其所有邻居的指针。一切皆有可能

  • 给定一个点,找出它所在的单元格。简单地说,从网络的左下角到该点画一条线,然后从该角单元开始,接近该点,从而找到它所在的单元

  • 给定一条线,找出它所穿过的所有单元格。琐碎的

  • 给定直线和偏移距离,查找道路内的所有单元。从2开始

  • 等等

  • Voronoi网络作为空间导航和查询的支持结构。所有操作都是局部的,因此具有线性复杂性。在构建图表之后。:)