当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python SciPy spatial.Voronoi用法及代码示例


本文简要介绍 python 语言中 scipy.spatial.Voronoi 的用法。

用法:

class  scipy.spatial.Voronoi(points, furthest_site=False, incremental=False, qhull_options=None)#

Voronoi N 维图表。

参数

points 浮点数数组,形状(npoints,ndim)

用于构造 Voronoi 图的点的坐标

furthest_site 布尔型,可选

是否计算furthest-site Voronoi图表。默认值:假

incremental 布尔型,可选

允许增量添加新点。这会占用一些额外的资源。

qhull_options str,可选

传递给 Qhull 的其他选项。有关详细信息,请参阅 Qhull 手册。 (默认值:ndim > 4 时为“Qbb Qc Qz Qx”,否则为“Qbb Qc Qz”。增量模式省略“Qz”。)

抛出

QhullError

当 Qhull 遇到错误条件时引发,例如在未启用解决选项时出现几何退化。

ValueError

如果将不兼容的数组作为输入给出,则引发。

注意

Voronoi 图是使用 Qhull library 计算的。

例子

Voronoi 一组点的图:

>>> import numpy as np
>>> points = np.array([[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2],
...                    [2, 0], [2, 1], [2, 2]])
>>> from scipy.spatial import Voronoi, voronoi_plot_2d
>>> vor = Voronoi(points)

绘制它:

>>> import matplotlib.pyplot as plt
>>> fig = voronoi_plot_2d(vor)
>>> plt.show()
scipy-spatial-Voronoi-1_00_00.png

Voronoi 顶点:

>>> vor.vertices
array([[0.5, 0.5],
       [0.5, 1.5],
       [1.5, 0.5],
       [1.5, 1.5]])

有一个有限的 Voronoi 区域和四个有限的 Voronoi 脊:

>>> vor.regions
[[], [-1, 0], [-1, 1], [1, -1, 0], [3, -1, 2], [-1, 3], [-1, 2], [0, 1, 3, 2], [2, -1, 0], [3, -1, 1]]
>>> vor.ridge_vertices
[[-1, 0], [-1, 0], [-1, 1], [-1, 1], [0, 1], [-1, 3], [-1, 2], [2, 3], [-1, 3], [-1, 2], [1, 3], [0, 2]]

脊在以下输入点之间绘制的线之间是垂直的:

>>> vor.ridge_points
array([[0, 3],
       [0, 1],
       [2, 5],
       [2, 1],
       [1, 4],
       [7, 8],
       [7, 6],
       [7, 4],
       [8, 5],
       [6, 3],
       [4, 5],
       [4, 3]], dtype=int32)

属性

points ndarray of double, shape (npoints, ndim)

输入点的坐标。

vertices ndarray of double, shape (nvertices, ndim)

Voronoi 顶点的坐标。

ridge_points 整数数组,形状(nridges, 2)

每个 Voronoi 山脊所在点的索引。

ridge_vertices 整数列表列表,形状 (nridges, *)

形成每个 Voronoi 脊的 Voronoi 顶点的索引。

regions 整数列表列表,形状 (nregions, *)

形成每个Voronoi区域的Voronoi顶点的索引。 -1 表示Voronoi 图之外的顶点。当指定 qhull 选项 “Qz” 时,空子列表表示内部添加的无穷远点的 Voronoi 区域。

point_region 整数数组,形状(npoints)

每个输入点的 Voronoi 区域的索引。如果未指定 qhull 选项 “Qc”,则列表将为与 Voronoi 区域不关联的点包含 -1。如果指定了 qhull 选项“Qz”,则由于内部添加了一个额外的无穷大点以方便计算,因此将比区域数少一个元素。

furthest_site

如果这是最远的站点三角剖分,则为 True,否则为 False。

相关用法


注:本文由纯净天空筛选整理自scipy.org大神的英文原创作品 scipy.spatial.Voronoi。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。