Zanim zrobię to sam, czy są dostępne biblioteki Pythona dla macierzy macierzy 4x4 dla macierzy OpenGL/kompatybilnej? Zasadniczo potrzebuję zestawu funkcji oferowanych przez klasę Android android.opengl.Matrix.Narzędzia matematyczne OpenGL dla Pythona?
Odpowiedz
Można użyć numpy do generowania danych zgodnych z OpenGL. Wiele z wywołań PyOpenGL może bezpośrednio przyjmować zdenaturowane struktury danych (zakładając, że jest to poprawny typ). Dodatkowo, numpy tablice są zwykle dobrze rozmieszczone w pamięci, a więc możesz zrobić, co chcesz z danymi (i łatwo jest sprawdzić, jak są one ustawione).
Jeśli już wiesz, czego chcesz w OpenGL, dlaczego nie używać PyOpenGL? Uważam, że powinna tam być cała wymagana funkcjonalność, oraz here are some docs on doing matrix transformations i współpraca z NumPy.
Używam PyOpenGL, ale nie ma potrzebnych funkcji narzędziowych. – dietr
Utworzono bibliotekę Pyrr, aby zapewnić wszystkie funkcje matematyczne potrzebne do Core OpenGL. Zawiera macierze, wektory i kwaternionów oraz podstawowe wsparcie dla innych elementów pierwotnych (prostokąty, promienie, linie, itp.).
Ma zarówno API proceduralne, jak i, ostatnio, interfejs API zorientowany obiektowo, który jest bardzo wydajny.
Jest dostępny na PyPi pip install pyrr
oraz z powyższego linku github.
Opinie, problemy i nowe funkcje są mile widziane!
Oczywiście (i już to robię), ale numpy nie zapewnia mi funkcji do obracania/rzutowania/skalowania/etc, lub narzędzi do obracania kwaternionów. – dietr
[Ten moduł] (http://www.lfd.uci.edu/~gohlke/code/transformations.py.html) jest przeznaczony do tego celu. Napisał też [zoptymalizowaną wersję C] (http://www.lfd.uci.edu/~gohlke/code/transformations.c.html). Nie mam doświadczenia z tego modułu, więc YMMV. –
To naprawdę dobrze wygląda. Świetne znalezisko! – dietr