Darstellung eines Koordinatensystems von schräg oben mit gluLookAt
-
die Auswirkung des Up-Vectors habe ich ohnehin nicht ganz verstanden. In meiner Vorstellung brauche ich nur den Kamerapunkt und den Blickpunkt, wo oben ist, ist dann doch für die Ansicht erstmal uninteressant.
Wenn Du nur die beiden Punkte definierst, hast Du nur eine von 3 Achsen Deines Koordinatensystems - die Kamera duerfte beliebig um ihre Z-Achse rotieren.
Du brauchst also noch einen zusaetzlichen Referenzpunkt um die Ausrichtung Deiner Kamera eindeutig zu definieren.
-
Das hieße also, dass ein Up-Vector (0, 1, 0) in meinem Falle zu einem nicht-othogonalen Koordinatensystem führen würde und ich stattdessen einen Vektor angeben müsste, der ortogonal zu dem Augenvektor steht?
Eher nicht, oder? Denn wenn das so wäre, dann dürfte die Ansicht ja verzerrt sein, was sie aber nicht (nur ein wenig seitenverkehrt
).
-
Dass die Basisvektoren der Matrix orthogonal sind ist schon sehr essenziell und darum regelt das gluLookAt schon intern fuer Dich.
Genauer:
Z= "Target" - "Position"
X= Z x "Up"
Y= X x Z
-
Aaah, das ist sehr gut

Danke, jetzt kapiere ich das wenigstens!
Aber das hat direkt mit meinem Problem trotzdem nichts zu tun, oder? Verdammt, ich tu mir mit der räumlichen Vorstellung schwer, aber mein Buchbeispiel sollte doch dennoch richtig sein.
Was also ist des Rätsels Lösung?
-
das hat direkt mit meinem Problem trotzdem nichts zu tun, oder?
Du hast gar kein Problem.
Schau Dir das right-handed System mal an.
-
Mein Problem ist, dass nach meinem Vorstellungsvermögen es anders aussehen müsste als es tut.
Ich wär schon zufrieden, wenn mir jemand sagen würde, was an meinem Buchdeckel-Beispiel nicht stimmt.

Edit:
Äääh, ich merke gerade, dass ich in meinem Buchbeispiel Zeige- und Mittelfinger vertauscht habe, der Zeigefinger steht natürlich für x und der Mittelfinger für z.
Das nur am Rande, das Verständnisproblem besteht weiterhin.
-
hellihjb schrieb:
Schau Dir das right-handed System mal an.
Moment mal.
Die z-Achse geht in positiver Richtung nach außen???
Hm, ich bin bisher davon ausgegangen, dass sie nach innen geht? Warum heißt das dann Rechte-Hand-Regel? Wenn ich mit den ersten drei Fingern meiner rechten Hand rechte Winkel bilde, dann würden die Achsen nach rechts, oben und innen gehen. Laut Deinem Link entspricht das aber gerade der Linken-Hand-Regel!
Habe ich jetzt ein anatomisches Problem?
Welcher Finger soll für welche Achse stehen? Es tut mir leid, dass ich diese blöden Fragen stellen muss, aber im Moment hängts bei mir total

-
Chewie83 schrieb:
hellihjb schrieb:
Schau Dir das right-handed System mal an.
Moment mal.
Die z-Achse geht in positiver Richtung nach außen???
Hm, ich bin bisher davon ausgegangen, dass sie nach innen geht? Warum heißt das dann Rechte-Hand-Regel? Wenn ich mit den ersten drei Fingern meiner rechten Hand rechte Winkel bilde, dann würden die Achsen nach rechts, oben und innen gehen. Laut Deinem Link entspricht das aber gerade der Linken-Hand-Regel!
Habe ich jetzt ein anatomisches Problem?
Nein, eher ein Problem mit den Augen. Auf der Seite ist es doch genau so dargestellt, wie du es dir vorstellst.
-
Die z-Achse geht in positiver Richtung nach außen???
Wo ist denn in einem Vektorraum "aussen" ?
LH- und RH-System unterscheiden sich - wie Deine beiden Haende - dadurch, dass eine Achse gespiegelt ist.
Wie rum Du's hinstellst is' egal...
-
Oh Mann, endlich hab ich kapiert, wo mein Denkfehler lag.
Bei der Rechte-Hand-Regel werden die Achsen durch Daumen, Zeigefinger und Mittelfinger (genau in dieser Reihenfolge!) realisiert. Ich dachte immer, z geht nach innen (damit meine ich in die Bildfläche, also meinetwegen dem Monitor, hinein).
Aber es ist ja gerade umgekehrt! Damit ist auch klar, warum das Bild richtig ist.
Danke dennoch für Eure Mühen!