OpenGL Koordinaten

3D-Visualisierung mit der Open Graphics Library (OpenGL)
paparoach777
Beiträge: 52
Registriert: Mi Mai 12, 2010 3:48 pm

OpenGL Koordinaten

Beitrag von paparoach777 » So Dez 26, 2010 8:50 pm

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???
return EXIT_FAILURE;

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8613
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: OpenGL Koordinaten

Beitrag von Xin » So Dez 26, 2010 9:33 pm

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...
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

paparoach777
Beiträge: 52
Registriert: Mi Mai 12, 2010 3:48 pm

Re: OpenGL Koordinaten

Beitrag von paparoach777 » Mi Dez 29, 2010 2:10 pm

is mir an sich schon klar...

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

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8613
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: OpenGL Koordinaten

Beitrag von Xin » Mi Dez 29, 2010 2:28 pm

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.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

paparoach777
Beiträge: 52
Registriert: Mi Mai 12, 2010 3:48 pm

Re: OpenGL Koordinaten

Beitrag von paparoach777 » Mi Dez 29, 2010 7:33 pm

Das mit dem umrechnen kapier ich nit ganz...

Hat jemand vielleicht ne Formel oder so dafür
return EXIT_FAILURE;

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8613
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: OpenGL Koordinaten

Beitrag von Xin » Mi Dez 29, 2010 8:06 pm

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.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

paparoach777
Beiträge: 52
Registriert: Mi Mai 12, 2010 3:48 pm

Re: OpenGL Koordinaten

Beitrag von paparoach777 » Mi Dez 29, 2010 8:17 pm

Ah, Ok habs kappiert :)

Und von Pixel nach Opengl genau umgekehrt, oder???
return EXIT_FAILURE;

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8613
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: OpenGL Koordinaten

Beitrag von Xin » Mi Dez 29, 2010 8:32 pm

paparoach777 hat geschrieben:Ah, Ok habs kappiert :)

Und von Pixel nach Opengl genau umgekehrt, oder???
Eher von OpenGL nach Pixel... ^^
Aber solange es passt ;-)
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

paparoach777
Beiträge: 52
Registriert: Mi Mai 12, 2010 3:48 pm

Re: OpenGL Koordinaten

Beitrag von paparoach777 » Do Dez 30, 2010 1:29 pm

Hab Opengl und Pixel vertauscht...

Naja egal...
return EXIT_FAILURE;

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8613
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: OpenGL Koordinaten

Beitrag von Xin » Fr Dez 31, 2010 1:57 am

paparoach777 hat geschrieben:Hab Opengl und Pixel vertauscht...

Naja egal...
Solange Du's verstanden hast - egal ^^
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Antworten