========================================================
Projekt: gamematrix (C++ Library)
Rolle: Projektleiter
Datei: requirements.txt
Datum: 03.11.2025
Team: getBereturntrue(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.
========================================================
