我试图只计算两点的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
这是预期行为吗?我根据多多边形中包含的一组点来分割多边形,在其中一个案例中,只有两个点。
这似乎没有明确记录。但是底层代码(qhull(是从Delaunay三角测量构建Voronoi图。您将需要至少三个非共线点才能获得有效的三角测量,从而获得成功的 Voronoi 图。这是 qhull 的预期要求:您至少需要维度加一个点才能获得任何三角测量(例如,请参阅此处的讨论(。因此,预计 scipy 会传递此错误。