======================================================== Projekt: gamematrix (C++ Library) Rolle: Projektleiter Datei: requirements.txt Datum: 10.11.2025 Team: NieOhneMeinTeam ======================================================== # ---------------------------- # 1. Projektziel # ---------------------------- Beschreiben Sie hier kurz das Ziel des Projekts: Ziel: Es soll eine erweiterbare C++-Library entwickelt werden, die grundlegende 3D-Transformationen (Translation, Rotation, Matrizenmultiplikation) in Form von 4x4-Matrizen bereitstellt. # ---------------------------- # 2. Funktionale Anforderungen # ---------------------------- Listen Sie alle Funktionen auf, die die Bibliothek bereitstellen soll. Tragen Sie ein: Funktion, Eingabe, Ausgabe, kurze Beschreibung | Funktion | Eingabe | Ausgabe | Kurzbeschreibung | |-----------------|------------------------------------|--------------|----------------------------------------------------| | matmul | 4x4 Matrix A, 4x4 Matrix B | 4x4 Matrix | Führt Matrizenmultiplikation A * B durch | | translate | 3D Vektor (x,y,z) | 4x4 Matrix | Erzeugt Translationsmatrix für Verschiebung im Raum| | rot3D | Winkel in °, Achse ('X','Y','Z') | 4x4 Matrix | Rotation um eine beliebige kartesische Achse | | identity | --- | 4x4 Matrix | Liefert 4x4 Einheitsmatrix | | applyToVec | Matrix, Vec3 | Vec3 | Wendet 4x4-Matrix auf 3D-Vektor an | | scale (optional)| 3D Vektor | 4x4 Matrix | Erzeugt Skalierungsmatrix | # ---------------------------- # 3. Nicht-funktionale Anforderungen # ---------------------------- (z. B. Performance, Lesbarkeit, Wartbarkeit, Python-Kompatibilität via pybind11) - Hohe Lesbarkeit (klarer Namespace: Matrix3D) - Wartbarer Code (Templates nur wenn notwendig) - ____________________________________________________________ # ---------------------------- # 4. Annahmen / Einschränkungen # ---------------------------- (z. B. alle Matrizen sind 4x4, Winkel in Grad, nur double) - Alle Matrizen sind 4x4 und vom Typ std::array - Alle Rotationen erfolgen im rechten Koordinatensystem - Die Library soll unabhängig vom Spielprojekt kompiliert werden können # ---------------------------- # 5. Abnahmekriterien # ---------------------------- Wie soll geprüft werden, dass die Anforderungen erfüllt sind? (z. B. Unit-Tests, Beispielrotationen, Matrizenmultiplikation) - Korrekte Rotationsergebnisse (z. B. 90° um Z-Achse: (1,0,0) → (0,1,0)) - Matrizenmultiplikation liefert identische Werte wie Referenzberechnung - Integration in das Spielprojekt erfolgreich ======================================================== Hinweis: - Diese Datei wird vom Projektleiter erstellt und gepflegt. - Jede Phase des Projekts soll hier dokumentiert werden. ========================================================