Author SHA1 Message Date
BrSh31 779114d5d2 Add requirements.txt with project goals and matrix function specs 2025-11-10 17:17:15 +01:00
straetemansbe94095 90728defd6 include fix 2025-11-10 16:49:56 +01:00
BrSh31 ed1bf4a9b1 raylib.h in includes refactored 2025-11-10 16:34:45 +01:00
BrSh31 3ceecb69f9 otto 2025-11-10 16:20:01 +01:00
BrSh31 7259b8efb5 otto 2025-11-10 16:15:34 +01:00
straetemansbe94095 65cb29a65a gamecube verbesserungen 2025-11-09 21:33:22 +01:00
straetemansbe94095 08ded96060 Merge remote-tracking branch 'origin/master' 2025-11-09 21:15:07 +01:00
straetemansbe94095 ce97b7454a 9.11 2025-11-09 21:12:16 +01:00
4 changed files with 1777 additions and 4 deletions
+64
View File
@@ -0,0 +1,64 @@
========================================================
Projekt: gamematrix (C++ Library)
Rolle: Projektleiter
Datei: requirements.txt
Datum: 10.11.2025
Team: ShehiBr (fuh wit yuh buh)
========================================================
# ----------------------------
# 1. Projektziel
# ----------------------------
Beschreiben Sie hier kurz das Ziel des Projekts:
Ziel: Die Bibliothek gamematrix um grundlegende 3D-Transformationsfunktionen zu erweitern,
die später über pybind11 in Python eingebunden werden können.
# ----------------------------
# 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 | Multipliziert 2 Matrizen |
| translate | 3D Vektor | 4x4 Matrix | Liefert eine Übersetzungs Matrix |
| rot3D | Winkel in °, Rotationsachse (x/y/z)| 4x4 Matrix | Liefert eine Rotationsmatrix |
| identity (optional)| --- | 4x4 Matrix | Liefert eine Einheitsmatrix |
| _____________ | __________________________________ | ____________________ | ______________________________ |
| _____________ | __________________________________ | ____________________ | ______________________________ |
# ----------------------------
# 3. Nicht-funktionale Anforderungen
# ----------------------------
(z. B. Performance, Lesbarkeit, Wartbarkeit, Python-Kompatibilität via pybind11)
- ____________________________________________________________
- ____________________________________________________________
- ____________________________________________________________
# ----------------------------
# 4. Annahmen / Einschränkungen
# ----------------------------
(z. B. alle Matrizen sind 4x4, Winkel in Grad, nur double)
- Alle Matrizen sind 4x4
- Winkel werden in Grad angegeben
- Keine Skalierung, nur Rotation und Translation
# ----------------------------
# 5. Abnahmekriterien
# ----------------------------
Wie soll geprüft werden, dass die Anforderungen erfüllt sind?
(z. B. Unit-Tests, Beispielrotationen, Matrizenmultiplikation)
- Alle Matrixfunktionen liefern korrekte Ergebnisse bei Testeingaben
- Vergleich mit bekannten Referenzwerten (Rotation 90° um x-Achse, etc.)
- Kompilierbarkeit der Bibliothek und Integration in das Spielprojekt
========================================================
Hinweis:
- Diese Datei wird vom Projektleiter erstellt und gepflegt.
- Jede Phase des Projekts soll hier dokumentiert werden.
========================================================
+4 -3
View File
@@ -3,7 +3,7 @@
#include "raylib.h"
#include "rlgl.h"
struct Vec3
struct Vec3 //anisch unnötig weil rylib schon vec3 hat
{
float x, y, z;
};
@@ -22,7 +22,7 @@ public:
Vec3 GetPosition() const;
float GetRotationY() const;
Color GetColor() const { return color; }
//zustände klarer abbikden bzw weniger bools = klarare Logik
private:
Vec3 position;
Color color;
@@ -31,4 +31,5 @@ private:
bool flippingForward = false;
bool flippingBackward = false;
float rotation = 0.0f;
};
};
// braucht bessere trennung von logik & darstellung
+1708
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -1,4 +1,4 @@
#include "../../prog_3/includes/gamecube.h"
#include "gamecube.h"
#include <algorithm>
#include <ctime>