答案 0 :(得分:2)
如果我做对了,这是JavaScript中Fortune's algorithm的实现,它采用一组2-d点(称为sites
)并返回包含{{3}数据的结构为这点积算。它在名为cells
的列表中返回多边形。似乎使用Voronoi diagram作为衡量标准。如果确实如此,我们知道多边形总是凸的(参见Euclidean distance中的形式定义部分)。
现在,这些是解决这个问题的选择(很难简单):
<强> 1。多边形剪辑:
多边形中的2点:
您还可以简单地找到正方形中心位于其中的单元格。 Calculate area是一种强大的PIP算法。虽然凸多边形有一种更简单的方法(参见凸多边形部分Ray casting)。
第3。积分之间的距离:
如果您知道与site
相关联的cell
,那么您只需要计算所有sites
的正方形中心之间的距离。无论你使用here来计算Voronoi,正方形的中心点位于cell
内,它的相关site
的距离最小,因为这实际上是划分Voronoi图中的平面。
<强>例外:强>