Mayavi: Viele Warnungen beim Zeichnen mehrerer Linien

Erstellt am 14. Juli 2017  ·  7Kommentare  ·  Quelle: enthought/mayavi

Ich verwende Python 3.5 und Mayavi 4.5.0 + vtk 7.1 (mayavi‑4.5.0+vtk71‑cp35‑cp35m‑win_amd64.whl heruntergeladen von http://www.lfd.uci.edu/~gohlke/pythonlibs/#mayavi ), und ich bin auf ein Problem gestoßen.

Ich habe versucht, das in der offiziellen Dokumentation angegebene Draw-Many-Lines-Beispiel auszuführen, bekomme aber viele Warnungen im vtkOutputWindow. Die Linien werden irgendwann gezogen, aber es ist sehr langsam, weil Sie warten müssen, bis alle Warnungen gedruckt sind.

Wie kann man das beheben? Danke.

Der Code ist hier:
http://docs.enthought.com/mayavi/mayavi/auto/example_plotting_many_lines.html

Und die Warnungen sehen so aus:
....
Warnung: In D:\Build\VTK\VTK-7.1.1\Common\DataModel\vtkPolyData.cxx, Zeile 1023
vtkPolyData (00000150D4F16FE0): Erstellen von VTK_TRIANGLE 482 mit weniger als drei Punkten, aber VTK_TRIANGLE benötigt mindestens drei Punkte. Überprüfen Sie die Eingabe.

Warnung: In D:\Build\VTK\VTK-7.1.1\Common\DataModel\vtkPolyData.cxx, Zeile 1023
vtkPolyData (00000150D4F16FE0): Erstellen von VTK_TRIANGLE 483 mit weniger als drei Punkten, aber VTK_TRIANGLE benötigt mindestens drei Punkte. Überprüfen Sie die Eingabe.

Warnung: In D:\Build\VTK\VTK-7.1.1\Common\DataModel\vtkPolyData.cxx, Zeile 1023
vtkPolyData (00000150D4F16FE0): Erstellen von VTK_TRIANGLE 484 mit weniger als drei Punkten, aber VTK_TRIANGLE benötigt mindestens drei Punkte. Überprüfen Sie die Eingabe.

Warnung: In D:\Build\VTK\VTK-7.1.1\Common\DataModel\vtkPolyData.cxx, Zeile 1023
vtkPolyData (00000150D4F16FE0): Erstellen von VTK_TRIANGLE 485 mit weniger als drei Punkten, aber VTK_TRIANGLE benötigt mindestens drei Punkte. Überprüfen Sie die Eingabe.

Warnung: In D:\Build\VTK\VTK-7.1.1\Common\DataModel\vtkPolyData.cxx, Zeile 1023
vtkPolyData (00000150D4F16FE0): Erstellen von VTK_TRIANGLE 486 mit weniger als drei Punkten, aber VTK_TRIANGLE benötigt mindestens drei Punkte. Überprüfen Sie die Eingabe.
....

Hilfreichster Kommentar

Es gibt keine Warnung, wenn ich lines als tube : lines= mlab.pipeline.tube(src, tube_radius=0.005, tube_sides=6) erstelle.

Alle 7 Kommentare

Ich habe py3-mayavi auf einem Mac mit MacPort installiert und hatte das gleiche Problem: "vtkPolyData (0x7fac677c5290): Building VTK_TRIANGLE 99 with less than three points, but VTK_TRIANGLE benötigt mindestens drei Punkte. Überprüfen Sie die Eingabe."

Vielen Dank für das Problem, ich kann es reproduzieren und es sieht so aus, als hätte sich etwas in VTK 7.1 geändert, das dies unterbricht, und ich werde versuchen, nächste Woche an einer Lösung zu arbeiten.

Es gibt keine Warnung, wenn ich lines als tube : lines= mlab.pipeline.tube(src, tube_radius=0.005, tube_sides=6) erstelle.

@ying17zi Es funktioniert! Du hast den Tag gerettet, danke!!

Irgendein Update zu diesem? Die Röhre funktioniert bei mir nicht wirklich.

Irgendein Update zu diesem? Die Röhre funktioniert bei mir nicht wirklich.

Jawohl. Es gibt wieder Warnungen in der Anzeige als lines , aber keine Warnung als Röhren in meinem Beispiel: $ show -ft f.mat
Dies sind die Links von show und f.mat zum Testen:

Ich habe mir das angeschaut. Anscheinend ist das Problem der Stripper-Filter, der nur benötigt wird, wenn Sie Röhren verwenden möchten. Für Linien braucht man es nicht. Sie können also den offensiven Teil weglassen, wenn Sie nur Linien zeichnen. Daher

# The stripper filter cleans up connected lines
#lines = mlab.pipeline.stripper(src)

# Finally, display the set of lines
mlab.pipeline.surface(src, colormap='Accent', line_width=1, opacity=.4)

und es funktioniert ohne Warnungen.

Prost.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen

Verwandte Themen

yassersouri picture yassersouri  ·  5Kommentare

thoth291 picture thoth291  ·  10Kommentare

ktavabi picture ktavabi  ·  15Kommentare

dnacombo picture dnacombo  ·  7Kommentare

hadim picture hadim  ·  72Kommentare