注意:aqueiros的{a1}虽然得票率较高,但不正确。尤其是这种说法“vor.regions总是在第一个索引”中有一个空数组,这不是真的。
我正在使用scipy.spatial.Voronoi函数生成一个简单的二维Voronoi细分。我使用点的随机二维分布(见下面的MCVE)。
我需要一种方法来遍历每个定义的区域(由scipy.spatial.Voronoi
定义)并获得与之关联的点的坐标(即:所述区域包围的点)。
问题是有为N
点定义的N+1
区域(多边形),我不确定这意味着什么。
当到达最后一个区域时,MCVE将失败:
from scipy.spatial import Voronoi
import numpy as np
# Generate random data.
N = 10
x = [np.random.random() for i in xrange(N)]
y = [np.random.random() for i in xrange(N)]
points = zip(x, y)
# Obtain Voronoi regions.
vor = Voronoi(points)
# Loop through each defined region/polygon
for i, reg in enumerate(vor.regions):
print 'Region:', i
print 'Indices of vertices of Voronoi region:', reg
print 'Associated point:', points[i], '\n'
我不明白的另一件事是,为什么存储了空的vor.regions
?根据文件:
regions: Indices of the Voronoi vertices forming each Voronoi region. -1 indicates vertex outside the Voronoi diagram.
空区域是什么意思?
添加
我尝试了point_region
属性,但显然我不明白它是如何工作的。它返回超出points
列表范围的索引。例如:在上面的MCVE中,它将始终显示10个点列表的索引10
,这显然超出了范围。
目前没有回答
相关问题 更多 >
编程相关推荐