Voronoi#
- class scipy.spatial.Voronoi(points, furthest_site=False, incremental=False, qhull_options=None)#
Voronoi-Diagramme in N Dimensionen.
Hinzugefügt in Version 0.12.0.
- Parameter:
- pointsndarray von floats, Form (npoints, ndim)
Koordinaten von Punkten zur Konstruktion eines Voronoi-Diagramms
- furthest_sitebool, optional
Ob ein furthest-site Voronoi-Diagramm berechnet werden soll. Standard: False
- incrementalbool, optional
Ermöglicht das schrittweise Hinzufügen neuer Punkte. Dies beansprucht zusätzliche Ressourcen.
- qhull_optionsstr, optional
Zusätzliche Optionen, die an Qhull übergeben werden sollen. Details siehe Qhull-Handbuch. (Standard: "Qbb Qc Qz Qx" für ndim > 4 und "Qbb Qc Qz" sonst. Der inkrementelle Modus lässt "Qz" weg.)
- Attribute:
- pointsndarray von double, Form (npoints, ndim)
Koordinaten der Eingabepunkte.
- verticesndarray von double, Form (nvertices, ndim)
Koordinaten der Voronoi-Knoten.
- ridge_pointsndarray von ints, Form
(nridges, 2) Indizes der Punkte, zwischen denen sich jeder Voronoi-Grat befindet.
- ridge_verticesListe von Listen von ints, Form
(nridges, *) Indizes der Voronoi-Knoten, die jeden Voronoi-Grat bilden.
- regionsListe von Listen von ints, Form
(nregions, *) Indizes der Voronoi-Knoten, die jede Voronoi-Region bilden. -1 bezeichnet einen Knoten außerhalb des Voronoi-Diagramms. Wenn die Qhull-Option "Qz" angegeben wurde, repräsentiert eine leere Unterliste die Voronoi-Region für einen Punkt im Unendlichen, der intern hinzugefügt wurde.
- point_regionArray von ints, Form (npoints)
Index der Voronoi-Region für jeden Eingabepunkt. Wenn die Qhull-Option "Qc" nicht angegeben wurde, enthält die Liste -1 für Punkte, die keiner Voronoi-Region zugeordnet sind. Wenn die Qhull-Option "Qz" angegeben wurde, gibt es ein Element weniger als die Anzahl der Regionen, da ein zusätzlicher Punkt im Unendlichen zur Erleichterung der Berechnung intern hinzugefügt wird.
- furthest_site
True, wenn es sich um eine Furthest-Site-Triangulierung handelte, und False, wenn nicht.
Hinzugefügt in Version 1.4.0.
Methoden
add_points(points[, restart])Verarbeitet eine Menge zusätzlicher neuer Punkte.
close()Beendet die schrittweise Verarbeitung.
- Löst aus:
- QhullError
Wird ausgelöst, wenn Qhull auf eine Fehlerbedingung stößt, z. B. eine geometrische Degeneration, wenn keine Optionen zur Behebung aktiviert sind.
- ValueError
Wird ausgelöst, wenn ein inkompatibles Array als Eingabe gegeben wird.
Hinweise
Das Voronoi-Diagramm wird mit der Qhull-Bibliothek berechnet.
Beispiele
Voronoi-Diagramm für eine Punktmenge
>>> 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)
Zeichne sie
>>> import matplotlib.pyplot as plt >>> fig = voronoi_plot_2d(vor) >>> plt.show()
Die Voronoi-Knoten
>>> vor.vertices array([[0.5, 0.5], [0.5, 1.5], [1.5, 0.5], [1.5, 1.5]])
Es gibt eine einzige endliche Voronoi-Region und vier endliche Voronoi-Gräte
>>> 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]]
Die Gräte sind senkrecht zu den Linien, die zwischen den folgenden Eingabepunkten gezogen werden
>>> 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)