60 lines
2.5 KiB
Plaintext
60 lines
2.5 KiB
Plaintext
========================================================
|
|
Projekt: gamematrix (C++ Library)
|
|
Rolle: Projektleiter
|
|
Datei: requirements.txt
|
|
Datum: 03.11.2025
|
|
Team: getBeerreturntrue(3 Personen)
|
|
========================================================
|
|
|
|
# ----------------------------
|
|
# 1. Projektziel
|
|
# ----------------------------
|
|
Ziel: Entwicklung einer C++-Bibliothek für 3D-Transformationen (4x4-Matrizen)
|
|
zur späteren Nutzung über pybind11 in Python sowie Integration in das
|
|
bestehende Spielprojekt. Bereitstellung von Funktionen für Translation,
|
|
Rotation und Matrixmultiplikation im 3D-Raum.
|
|
|
|
# ----------------------------
|
|
# 2. Funktionale Anforderungen
|
|
# ----------------------------
|
|
|
|
| Funktion | Eingabe | Ausgabe | Kurzbeschreibung |
|
|
|---------------|------------------------------------|-----------------------|----------------------------------------|
|
|
| matmul | 4x4 Matrix A, 4x4 Matrix B | 4x4 Matrix | Multiplikation zweier 4x4 Matrizen |
|
|
| translate | 3D Vektor (x,y,z) | 4x4 Matrix | Erzeugt Translationsmatrix |
|
|
| rot3D | Winkel in °, Rotationsachse (x/y/z)| 4x4 Matrix | Rotationsmatrix um Achse |
|
|
| identity | --- | 4x4 Matrix | Identitätsmatrix zurückgeben |
|
|
| apply | Matrix, Vec3 | Vec3 | Vektor mit Transformationsmatrix transformieren |
|
|
|
|
# ----------------------------
|
|
# 3. Nicht-funktionale Anforderungen
|
|
# ----------------------------
|
|
|
|
- Lesbarkeit & Wartbarkeit (klarer Namespace, Header-Trennung)
|
|
- Ausführung in Echtzeit-Spielumgebung (gute Performance)
|
|
- Kompatibilität mit pybind11
|
|
- Keine dynamische Speicherallokation innerhalb der Matrixoperationen
|
|
|
|
# ----------------------------
|
|
# 4. Annahmen / Einschränkungen
|
|
# ----------------------------
|
|
|
|
- Alle Matrizen im homogenen Format 4x4
|
|
- Winkelangabe in Grad
|
|
- Datentyp double
|
|
- Koordinatensystem: Rechtshändig
|
|
|
|
# ----------------------------
|
|
# 5. Abnahmekriterien
|
|
# ----------------------------
|
|
|
|
- Beispiel-Transformationen funktionieren korrekt
|
|
- Unit-Tests für alle Funktionen bestehen
|
|
- Vergleich mit bekannten Resultaten (z. B. 90°-Rotation)
|
|
- Bibliothek lässt sich erfolgreich in Python binden
|
|
|
|
========================================================
|
|
Hinweis:
|
|
Diese Datei wird vom Projektleiter gepflegt.
|
|
========================================================
|