Prog3B_Projekt/requirements.txt

66 lines
3.0 KiB
Plaintext

========================================================
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<double,16>
- 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.
========================================================