2

我正在研究一个需要对飞机进行 Voronoi 镶嵌的问题。我认为在 Voronoi 细分中,每个点都将包含在 Voronoi 地图的唯一单元格中,例如

在此处输入图像描述

图中的点是黑点,每个点都包含在一个彩色单元格中。但是,在我的数据集上使用 scikit 实现,我得到的区域/单元的数量小于输入点的数量:

from scipy.spatial import Voronoi
import numpy as np
import json

# data is here: https://gist.github.com/duhaime/69ce65c6849708b31ba855d49d2812e6
a = np.array(json.load(open('umap.json')))
v = Voronoi(a)

print(a.shape) # prints (172502, 2)
print(len(v.regions)) # prints 169526

Voronoi 类的scikit 文档让我发现v.point_region每个输入点都包含一个条目。的第i个成员表示a中第i个值所属v.point_region的索引。v.regions例如v.point_region[17]= 34 表示a[17]属于v.regions[34]. 我没有意识到多个点可能属于同一个 Voronoi 地区!

这让我想到了我的问题:是否可以指定 Qhull 选项以确保每个点都隔离在 Voronoi 地图的不同单元格中?也就是说,我希望每个单元格都有一个独特的区域。其他人可以就这个问题提供的任何指示将不胜感激!

4

0 回答 0