generated from freudenreichan/Programmieren_3b
66 lines
3.0 KiB
Plaintext
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.
|
|
======================================================== |