1

我使用 scipy.spatial 中的 Voronoi 来绘制点和多边形。现在我需要导出表/数据框,它将初始点的坐标链接到多边形顶点坐标,但我无法从属性(点、顶点、区域等)中找到相应的公式,有人可以分享吗?

4

1 回答 1

0

根据 的结果,属性scipy.spatial.Voronoi中提供了输入点与 Voronoi 图的区域之间的关联。point_region具体来说,给定输入点的索引,该point_region属性给出与该点关联的区域的索引,该regions属性可用于查找与该区域关联的 Voronoi 顶点的索引,vertices然后可以使用该属性获取坐标各种 Voronoi 顶点。

这是一个例子:

import numpy as np
points = np.array([[0, .2], [-.2, 1], [0, 2.1], [1.1, -.1], [1, 1], [0.9, 1.9],[2.2, -0.2], [1.9, 1.1], [2.1, 2.3]])

from scipy.spatial import Voronoi, voronoi_plot_2d
vor = Voronoi(points)

print("points[4] =", points[4])
print("region for point 4 =", vor.point_region[4])
print("vertices for region for point 4 =", vor.regions[vor.point_region[4]])
print("coordinate of Voronoi vertices associated with point 4:")
print(vor.vertices[vor.regions[vor.point_region[4]]])

import matplotlib.pyplot as plt
fig = voronoi_plot_2d(vor)
ax = plt.gca()
ax.set_aspect('equal', adjustable='box')

plt.show()

这段代码的输出是:

points[4] = [1. 1.]
region for point 4 = 8
vertices for region for point 4 = [9, 4, 6, 0, 7]
coordinate of Voronoi vertices associated with point 4:
[[1.512      0.492     ]
 [1.4        1.5       ]
 [0.4        1.38888889]
 [0.4        0.725     ]
 [0.64915254 0.41355932]]

示例中的Voronoi图如下图所示:示例是查询中心Voronoi区域的信息。

示例 Voronoi 图

于 2021-08-29T18:47:07.703 回答