getBeerreturntrue/requirements.txt

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.
========================================================