2013-08-02 32 views
17

Poszukuję grafiki 3D zgodnej z Pythonem. Głównie chciałbym móc rysować linie i oglądać je w 3D. Dosłownie nie mam doświadczenia w tej dziedzinie i szukam wiedzy i tutoriali.wizualizacja 3D Pythona i grafika

Uczę się programowania najlepiej poprzez eksperymenty. Więc jakie paczki muszę robić w grafice 3D? Naprawdę lubię używać emacs, więc jeśli masz te sugestie, to byłoby super!

Podsumowując:

  1. które pakiety są potrzebne do grafiki 3D w Pythonie.
  2. Zauważ, że używam Ubuntu 12.04 LTS i Emacs 24,3

Odpowiedz

12

Najczęstszym sposobem na integrację w czasie rzeczywistym grafiki 3D przy użyciu biblioteki OpenGL. OpenGL i grafika w czasie rzeczywistym to duży temat, ale skupienie się na czymś takim jak rysowanie linii 3D nie powinno być zbyt trudne. istnieją powiązania dla pytona http://pyopengl.sourceforge.net/

GLUT - to chyba najlepiej za dostarczanie X platformy okienkowy i konfiguracji kontekstu i jest zawarte w wymienionych wiązań.

OpenGL - istnieje kilka wersji, dla twojej aplikacji, tryb natychmiastowy, dziedzictwo, jest prawdopodobnie do zaakceptowania.

Oto kilka linków do nauki - Nie czuj się zobligowany do przeczytania ich wszystkich - wybierz tematy, które są dla ciebie istotne.

+0

Dziękuję bardzo! Pamiętam około 2 lata temu, że zacząłem uczyć się OpenGL (po tym jak poznałem C++) i nigdy nie dotarłem nigdzie, ponieważ nie byłem wystarczająco zaawansowany technicznie. Właściwie pamiętam o GLUT, ale nigdy nie wiedziałem, co to jest! – CodeKingPlusPlus

+0

@CodeKingPlusPlus start small - Założę się, że możesz szybko renderować linie 3D –

+0

Czy w swoim pierwszym linku musisz zainstalować coś jeszcze oprócz 'pyglet'? Interpreter python daje mi mnóstwo błędów po tym, jak spróbowałem uruchomić pierwszy przykład. – CodeKingPlusPlus

14

Najprostszym sposobem dla wizualizacji 3D w Pythonie jest VPython.

Na przykład, aby narysować krzywą w kształcie kwadratu, to po prostu:

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

Jest to znacznie łatwiejsze niż MayaVI, VTK, OpenGL, itd

Innym łatwym rozwiązaniem jest matplotlib użytkownika Grafika 3D. Lepiej na ilościowych detalach, ale nie tak prostych, szybkich i interaktywnych dla części 3D.