Du musst nur das lokale Koordinatensystem des Würfels seinen Seiten zuordnen, da dieses in diesem Fall den Normalvektoren der Flächen entspricht z.B.
negative X-Achse = 1 positive X-Achse = 6
negative Y-Achse = 2 positive Y-Achse = 5
negative Z-Achse = 3 positive Z-Achse = 4
Nun schaust du noch, welche Achse (kannst du direkt aus den ersten 3x3 Einträgen der Transformationsmatrix des Objektes auslesen - wenn du die Standardskalierung verwendest) am ehesten der Richtung der globalen Y-Achse entspricht, dann hast du's schon auf zwei Flächen eingeschränkt - das Vorzeichen entscheidet dann, um welche es sich tatsächlich handelt.
Ok, wenn du deinen Würfel positionierst/rotierst/skalierst, werden diese sämtlichen Transformationen in einer Matrix zusammengefasst. Das lokale Koordinatensystem entspricht dem Koordinatensystem, in dem du die Schnittpunkte deines Würfels angibst (z.B. mit glVertex Kommandos). Dieses wird dann mit der ModelView Matrix transformiert, wodurch die Lokalkoordinaten zu Weltkoordinaten werden - wodurch deine Schnittpunkte erst ihre tatsächlich dargestellte Position erhalten.
Normalerweise unterwirfst du die ModelViewMatrix zusätzlich einer Beobachtertransformation, damit der Beobachter nicht immer am Ursprung stehen bleibt. In diesem Fall entspricht das lokale Koordinatensystem des Würfels, der Objekttransformation OHNE Beobachter, da z.B. der "Boden" durchaus auf der Seite liegen kann, wenn der Beobachter den Kopf gedreht hält.
Die Vektoren die dann tatsächlich den Achsen des Objektkoordinatensystems entsprechen erhältst du dann über:
objRMatrix ist die zusammengesetzte Rotationsmatrix des Objekts - die musst du entweder selbst berechnen, oder halt OpenGL dazu verwenden (und dir die entsprechende Matrix via glGetFloatv holen).
Nun schaust du nach, in welcher Achse der Betrag der Y-Komponente am höchsten ist, berücksichtigst das Vorzeichen - und schon weißt du, welche Seite "oben" liegt.
Wenn du gar keinen Plan von Vektor- und Matrizenrechnung hast, solltest du unbedingt die Einstiegstutorials auf dieser Seite durchmachen (gibt, glaub ich, auch eines, das sich "Mathe-Nachhilfe" nennt).
Mitglieder in diesem Forum: 0 Mitglieder und 20 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.