當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。