Seite 1 von 2

OpenGL Koordinaten

Verfasst: So Dez 26, 2010 8:50 pm
von paparoach777
Hab ma ne Frage,

wie weit ist denn zum Beispiel

Code: Alles auswählen

glVertex3f(1.0f, 0.0f, 0.0f)
von dem Nullpunkt in der Mitte entfernt???

Re: OpenGL Koordinaten

Verfasst: So Dez 26, 2010 9:33 pm
von Xin
paparoach777 hat geschrieben:Hab ma ne Frage,

wie weit ist denn zum Beispiel

Code: Alles auswählen

glVertex3f(1.0f, 0.0f, 0.0f)
von dem Nullpunkt in der Mitte entfernt???
1.0 in X-Dimension (links/rechts), 0.0 in Y Dimension (rauf/runter) und 0.0 in Z-Dimension (vor/zurück).

Das ergibt einen Vektor (1.0, 0.0, 0.0). Die Länge entspricht dem Betrag eines Vektors, also hier Wurzel aus ( 1.0^2 + 0.0^2 + 0.0^2 ), was sich auf Wurzel aus 1 zusammenfassen lässt, was wiederum 1 ist.
Der Punkt (1.0, 0.0, 0.0) ist also 1 Einheiten vom Nullpunkt entfernt.

(1.0, 1.0, 0.0) entspricht Wurzel( 1 + 1 + 0 ), also Wurzel(2) => 1,414...

Re: OpenGL Koordinaten

Verfasst: Mi Dez 29, 2010 2:10 pm
von paparoach777
is mir an sich schon klar...

ne, ich mein in Pixel (oder wenn nicht in Pixel dann relativ zur Bildschirmhöhe/breite)

Re: OpenGL Koordinaten

Verfasst: Mi Dez 29, 2010 2:28 pm
von Xin
paparoach777 hat geschrieben:is mir an sich schon klar...

ne, ich mein in Pixel (oder wenn nicht in Pixel dann relativ zur Bildschirmhöhe/breite)
Du gibst doch mit glutPerspective oder glOrthogonal die Ausmaße Deines Bildschirms in Einheiten an. Also weißt Du, wie groß die Breite und Höhe ist. Entsprechend ist das Verhältnis und da Du weißt, wie Breit und Hoch Dein Fenster ist, kannst Du das umrechnen.

Das ganze macht so natürlich nur Sinn, wenn Du Dich im 2D-Raum bewegst. Eine Entfernung in Z-Richtung macht sich in Pixeln ja nur bemerkbar, wenn Du die Z-Achse anzeigst.

Re: OpenGL Koordinaten

Verfasst: Mi Dez 29, 2010 7:33 pm
von paparoach777
Das mit dem umrechnen kapier ich nit ganz...

Hat jemand vielleicht ne Formel oder so dafür

Re: OpenGL Koordinaten

Verfasst: Mi Dez 29, 2010 8:06 pm
von Xin
paparoach777 hat geschrieben:Das mit dem umrechnen kapier ich nit ganz...

Hat jemand vielleicht ne Formel oder so dafür
Nehmen wir eine Dimension: Die Breite.

Nehmen wir nun an, Dein Fenster ist 1000 Pixel breit. Nehmen wir nun an, Du klickst an Position 500 und an Position 600. Also ist der Pixelabstand 100px.
In diesem Fenster stellst Du nun die OpenGL Szene dar, und zwar von -1 bis +1. Du weißt damit, dass Du den ersten Klick bei 0 gemacht hast und den zweiten bei 0.2. Von der OpenGL Szene wird ein 2 Einheiten breiter Streifen dargestellt. Die 500 ist genau die Hälfte des Fensterbreite, also auch die Hälfte Deiner OpenGL Szene: 0. Die 600 ist 0.6fache Teil der Breite, da 1000px * 0.6 = 600px sind.
Die OpenGL Szene ist 2 Einheiten breit, das ganze mal 0.6 ergibt 1.2. Da die Szene bei -1 anfängt, ist die geklickte Ordinate 0.2.

Entsprechend gilt das für die Höhe des Fensters.
Soweit klar?


Spaßig wird es erst, wenn Du die Z-Koordinate ins Spiel bringst, also die Szene vor dem Klicken drehst.

Re: OpenGL Koordinaten

Verfasst: Mi Dez 29, 2010 8:17 pm
von paparoach777
Ah, Ok habs kappiert :)

Und von Pixel nach Opengl genau umgekehrt, oder???

Re: OpenGL Koordinaten

Verfasst: Mi Dez 29, 2010 8:32 pm
von Xin
paparoach777 hat geschrieben:Ah, Ok habs kappiert :)

Und von Pixel nach Opengl genau umgekehrt, oder???
Eher von OpenGL nach Pixel... ^^
Aber solange es passt ;-)

Re: OpenGL Koordinaten

Verfasst: Do Dez 30, 2010 1:29 pm
von paparoach777
Hab Opengl und Pixel vertauscht...

Naja egal...

Re: OpenGL Koordinaten

Verfasst: Fr Dez 31, 2010 1:57 am
von Xin
paparoach777 hat geschrieben:Hab Opengl und Pixel vertauscht...

Naja egal...
Solange Du's verstanden hast - egal ^^