首页 > 解决方案 > 从 scipy.spatial.Voronoi 有效地确定 Voronoi 图中的相邻单元格

问题描述

我正在研究一种使用 Voronoi 图的算法。我需要知道每个给定的细胞,它有哪些细胞作为邻居;也就是说,它与哪些邻居共享一条边。这类似于一个现有的问题。但是,我已经有一个计算这个的算法,但我希望加快它的速度并避免冗余计算。

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

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

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

谢谢。

标签: pythonoptimizationscipyvoronoiqhull

解决方案


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

寻找半蛋。

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


推荐阅读