2

我正在尝试仅计算两点的 Voronoi 图:

from scipy.spatial import Voronoi
vor = Voronoi([[0, 0], [0, 1]])

但得到以下错误:

    vor = Voronoi(points)
  File "qhull.pyx", line 2518, in scipy.spatial.qhull.Voronoi.__init__
  File "qhull.pyx", line 354, in scipy.spatial.qhull._Qhull.__init__
scipy.spatial.qhull.QhullError: QH6214 qhull input error: not enough points(2) to construct initial simplex (need 4)

While executing:  | qhull v Qc Qz Qbb
Options selected for Qhull 2015.2.r 2016/01/18:
  run-id 12883022  voronoi  Qcoplanar-keep  Qz-infinity-point  Qbbound-last
  _pre-merge  _zero-centrum  Qinterior-keep

这是预期的行为吗?我根据其中包含的一组点来拆分 MultiPolygons,在其中一种情况下只有两个点。

4

1 回答 1

2

这似乎没有明确记录。但底层代码 (qhull) 正在从 Delaunay 三角剖分构建 Voronoi 图。您将需要至少三个非共线点才能获得有效的三角剖分,从而获得成功的 Voronoi 图。这是 qhull 的预期要求:您至少需要维度加一个点才能获得任何三角剖分(例如,请参阅此处的讨论)。所以预计 scipy 会通过这个错误。

于 2020-04-18T19:29:52.090 回答