Räumliche Algorithmen und Datenstrukturen (scipy.spatial)#

Räumliche Transformationen#

Diese sind im Untermodul scipy.spatial.transform enthalten.

Nächste-Nachbarn-Abfragen#

KDTree(data[, leafsize, compact_nodes, ...])

kd-Baum für schnelle Nächste-Nachbarn-Suche.

cKDTree(data[, leafsize, compact_nodes, ...])

kd-Baum für schnelle Nächste-Nachbarn-Suche

Rectangle(maxes, mins)

Hyperrechteck-Klasse.

Distanzmetriken#

Distanzmetriken sind im Untermodul scipy.spatial.distance enthalten.

Delaunay-Triangulierungen, konvexe Hüllen und Voronoi-Diagramme#

Delaunay(points[, furthest_site, ...])

Delaunay-Tessellation in N Dimensionen.

ConvexHull(points[, incremental, qhull_options])

Konvexe Hüllen in N Dimensionen.

Voronoi(points[, furthest_site, ...])

Voronoi-Diagramme in N Dimensionen.

SphericalVoronoi(points[, radius, center, ...])

Voronoi-Diagramme auf der Oberfläche einer Kugel.

HalfspaceIntersection(halfspaces, interior_point)

Halbraum-Schnittmengen in N Dimensionen.

Hilfsfunktionen zum Plotten#

delaunay_plot_2d(tri[, ax])

Zeichne die gegebene Delaunay-Triangulierung in 2D.

convex_hull_plot_2d(hull[, ax])

Zeichne das gegebene konvexe Hüllendiagramm in 2D.

voronoi_plot_2d(vor[, ax])

Zeichne das gegebene Voronoi-Diagramm in 2D.

Siehe auch

Tutorial

Simplex-Darstellung#

Die Simplices (Dreiecke, Tetraeder usw.), die in der Delaunay-Tessellation (N-D Simplices), den konvexen Hüllenflächen (Facets) und den Voronoi-Kanten (N-1-D Simplices) vorkommen, werden nach folgendem Schema dargestellt.

tess = Delaunay(points)
hull = ConvexHull(points)
voro = Voronoi(points)

# coordinates of the jth vertex of the ith simplex
tess.points[tess.simplices[i, j], :]        # tessellation element
hull.points[hull.simplices[i, j], :]        # convex hull facet
voro.vertices[voro.ridge_vertices[i, j], :] # ridge between Voronoi cells

Für Delaunay-Triangulierungen und konvexe Hüllen erfüllt die Nachbarstruktur der Simplices die Bedingung: tess.neighbors[i,j] ist der Nachbar-Simplex des i-ten Simplices, gegenüber dem j-ten Vertex. Er ist -1, wenn kein Nachbar vorhanden ist.

Konvexe Hüllenflächen definieren auch eine Hyperebenengleichung.

(hull.equations[i,:-1] * coord).sum() + hull.equations[i,-1] == 0

Ähnliche Hyperebenengleichungen für die Delaunay-Triangulierung entsprechen den konvexen Hüllenflächen auf dem entsprechenden N+1-D-Paraboloid.

Die Delaunay-Triangulierungsobjekte bieten eine Methode zur Lokalisierung des Simplex, der einen gegebenen Punkt enthält, sowie zur Berechnung baryzentrischer Koordinaten.

Funktionen#

tsearch(tri, xi)

Findet Simplices, die die gegebenen Punkte enthalten.

distance_matrix(x, y[, p, threshold])

Berechnet die Distanzmatrix.

minkowski_distance(x, y[, p])

Berechnet die L**p-Distanz zwischen zwei Arrays.

minkowski_distance_p(x, y[, p])

Berechnet die p-te Potenz der L**p-Distanz zwischen zwei Arrays.

procrustes(data1, data2)

Prokrustes-Analyse, ein Ähnlichkeitstest für zwei Datensätze.

geometric_slerp(start, end, t[, tol])

Geometrische sphärische lineare Interpolation.

Warnungen / Fehler in scipy.spatial verwendet#

QhullError

Wird ausgelöst, wenn Qhull auf eine Fehlerbedingung stößt, z. B. eine geometrische Degeneration, wenn keine Optionen zur Behebung aktiviert sind.