2013-08-02 24 views
17

Ich bin auf der Suche nach Python-kompatiblen 3D-Grafiken. Meistens möchte ich Linien zeichnen und in 3D betrachten können. Ich habe buchstäblich keine Erfahrung in diesem Bereich und bin auf der Suche nach Wissen und Tutorials.python 3D-Visualisierung und Grafik

Ich lerne Programmierung am besten durch Experimente. Welche Pakete benötige ich für 3D-Grafiken? Ich genieße wirklich Emacs, also wenn Sie diese Vorschläge auch haben, das wäre genial!

Zusammengefasst:

  1. Welche Pakete muss ich für 3D-Grafiken in Python benötigen.
  2. Bitte beachte, dass ich Ubuntu 12.04 LTS verwenden und Emacs 24,3

Antwort

12

Die häufigste Art Echtzeit-3D-Grafik zu integrieren, um die OpenGL Bibliothek. OpenGL und Echtzeitgrafiken sind ein großes Thema, aber die Fokussierung auf 3D-Linien sollte nicht zu schwierig sein. Bindungen existieren für Python http://pyopengl.sourceforge.net/

GLUT - ist wahrscheinlich der beste X-Plattform Windowing und Kontext-Setup für die Bereitstellung und ist in den genannten Bindungen enthalten.

OpenGL - es gibt mehrere Versionen, für Ihre Anwendung, Sofortmodus, Legacy, ist wahrscheinlich akzeptabel.

Hier sind einige Links zum Lernen - Fühlen Sie sich nicht verpflichtet, sie alle zu lesen - wählen Sie die Themen, die für Sie relevant sind.

+0

Vielen Dank! Ich erinnere mich, dass ich vor ungefähr 2 Jahren OpenGL gelernt habe (nachdem ich C++ gelernt hatte) und ich kam nie irgendwo hin, weil ich nicht technisch genug war. Ich erinnere mich wirklich daran, von GLUT gehört zu haben, aber ich wusste nie, was es war! – CodeKingPlusPlus

+0

@CodeKingPlusPlus beginnen klein - Ich wette, Sie können 3D-Linien ziemlich schnell Rendern –

+0

In Ihrem ersten Link müssen Sie alles andere als 'Pyglet' installieren? Der Python-Interpreter gibt mir eine Reihe von Fehlern, nachdem ich versucht habe, das erste Beispiel auszuführen. – CodeKingPlusPlus

14

Der einfachste Weg zur 3D-Visualisierung in Python VPython ist.

Zum Beispiel eine Kurve in der Form eines Quadrats zu ziehen, es ist nur:

square = curve(pos=[(0,0),(0,1),(1,1),(1,0),(0,0)]) 

Dies ist erheblich einfacher als MayaVi, VTK, OpenGL usw.

Eine weitere einfache Möglichkeit ist matplotlib ist 3D-Grafik. Es ist besser auf den quantitativen Details, aber nicht so einfach, schnell und interaktiv für den 3D-Teil.