Verwendung von scipy.spatial.Delaunay anstelle der integrierten Version von matplotlib.tri.Triangulation

8

Es scheint, als ob matplotlib.tri.Triangulation eine fehlerhafte und möglicherweise falsche Implementierung der Delaunay-Triangulation verwendet, die durch qHull ersetzt werden soll.

Ich versuche, einen Trisurf mit mpl_toolkits.mplot3d.plot_trisurf() zu plotten und in eine Reihe von Ausnahmen zu münden, die nicht hilfreich sind ( IndexError s und KeyError s meistens, ohne Hinweise darauf, was genau falsch gelaufen ist).

Da scipy.spatial.Delaunay bereits qHull verwendet, habe ich mich gefragt, ob es eine Möglichkeit gibt, ein matplotlib.tri.Triangulation -Objekt zur Verwendung mit mpl_toolkits.mplot3d.plot_trisurf() mit der Implementierung der Delaunay-Triangulation von scipy zu erstellen.

Ich habe versucht, das delaunay.points direkt an matplotlib.tri.Triangulate über den Parameter triangles zu übergeben, aber dies führt zu einem ValueError: triangles min element is out of bounds .

    
Chinmay Kanchi 26.03.2014, 07:13
quelle

1 Antwort

6

Ссылка Ссылка

Sie müssen also sowohl die Punkte als auch die Dreiecke von qhull an den Konstruktor Triangulation übergeben:

%Vor%

Ausgabe (mit matplotlib aktuellen Master):

    
GBy 29.03.2014, 16:38
quelle

Tags und Links