通过scipy.spatial.Voronoi有效地确定Voronoi图中的相邻单元格

时间:2018-09-18 14:39:24

标签: python optimization scipy voronoi qhull

我正在研究使用Voronoi图的算法。我需要为每个给定的单元格知道它作为邻居具有哪些单元格;也就是说,它与哪个邻居共享一条边缘。这类似于existing question。但是,我已经有一种算法可以对此进行计算,但是我希望加快速度并避免进行多余的计算。

当前,我正在使用scipy.spatial.Voronoi的输出来执行此操作,该输出为我提供了可用于构建此映射的顶点,点等的数组。但是,我在运行该算法时有很多要点,我想加快这一过程。

我的理解是scipy和Qhull计算Delaunay三角化,然后使用它来计算Voronoi图。我认为(但可能会误会)可以从Delaunay三角剖分中找到邻接信息。我想知道在生成Voronoi图时是否有一种方法可以从scipy / Qhull中提取此信息(如果存在)。

如果没有,是否有任何首选方法可以做到这一点?从长远来看,我会直接使用Qhull更好吗?

谢谢。

1 个答案:

答案 0 :(得分:1)

我认为只有运气算法https://cs.stackexchange.com/questions/80939/voronoi-diagram-status-structure-in-fortunes-algorithm才有可能。

寻找半步兵。

也许您可以使用其他解决方案来实现半边,但不能使用qhull。