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.
....
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.
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.
Hilfreichster Kommentar
Es gibt keine Warnung, wenn ich
lines
alstube
:lines= mlab.pipeline.tube(src, tube_radius=0.005, tube_sides=6)
erstelle.