2016-06-01 16 views
0

Aus einem unstrukturierten Netz (X,Y,Z + connectivity), möchte ich ein 2D-Array entsprechend Z-Projektion (Draufsicht) auf Ebene (X,Y) erstellen. An diesem Ende habe ich plot_trisurf von Matplotlib (für 3D-Darstellung .. und es funktioniert) und dann habe ich versucht, contourf (X, Y, Z, zdir='z') zu verwenden, um die Projektion zu realisieren. Leider scheint diese letzte Funktion nur für strukturiertes Mesh geeignet zu sein.Python: Wie projiziert man ein 3D unstrukturiertes Mesh auf 2D?

Gibt es eine Möglichkeit, (einfach, mit vorhandenen Bibliotheken) zu erhalten, wonach ich suche?

Antwort

1

Sie können tricontour verwenden. Sie finden some examples in der Dokumentation. Dies ist ein Beispiel, dass sie dort präsentieren:

enter image description here

+0

Danke. Das habe ich gesucht. Jetzt versuche ich, Plotdaten in ein numpy Array zu exportieren. Ich habe gesehen, buf = fig.canvas.tostring_rgb() + np.fromstring (buf, dtype = np.uint8) .reshape (nrows, ncols, 3), aber die Dinge sind nicht einfach (rgb Umwandlung in realen Wert z + Verwaltung der Leinwandgröße und die Anzahl der Pixel für jede Richtung). Immer noch eine Menge Arbeit. Irgendeine Idee, es leicht zu machen? – Patrick

+0

@Patrick, das ist eine neue Frage. Erstelle eine neue Frage mit einem Arbeitsbeispiel und ich kann dir da helfen. – nicoguaro

+0

Ich habe es in: http://stackoverflow.com/questions/37617623/python-how-to-export-a-contourf-to-a-2d-array – Patrick