Das OpenGL-Koordinatensystem ist ein rechtshändiges kartesisches Koordinatensystem, das sich für 3D-Darstellungen eignet. Hier sind die Grundlagen:
1. Das 3D-Koordinatensystem in OpenGL
2. Rechtshändiges Koordinatensystem
3. Sichtkoordinaten und Normalisierung
4. Kamera und Transformationen
5. Perspektive und Projektionen
1.) Das 3D-Koordinatensystem in OpenGL
- X-Achse: Verläuft von links nach rechts (negativ nach positiv).
- Y-Achse: Verläuft von unten nach oben (negativ nach positiv).
- Z-Achse: Verläuft von vorne nach hinten (negativ nach positiv).
2.) Rechtshändiges Koordinatensystem
OpenGL verwendet standardmäßig ein rechtshändiges Koordinatensystem:
- Wenn du die rechte Hand benutzt und den Daumen entlang der X-Achse hältst, den Zeigefinger entlang der Y-Achse, dann zeigt dein Mittelfinger entlang der Z-Achse nach vorne (aus dem Bildschirm heraus).
3.) Sichtkoordinaten und Normalisierung
- Das OpenGL-Standard-Koordinatensystem hat normalerweise den Ursprung (0,0,0) in der Mitte des Fensters.
- Positive Z-Werte zeigen in die Tiefe des Bildschirms.
- Negative Z-Werte zeigen aus dem Bildschirm heraus.
- Objekte mit einem Z-Wert außerhalb des Sichtbereichs (z. B. kleiner als der Near-Clipping-Plane) werden nicht gerendert.
4.) Kamera und Transformationen
OpenGL rendert Objekte nicht in ihrem ursprünglichen Modell-Koordinatensystem, sondern transformiert sie in verschiedene Koordinatensysteme:
1. Modell-Koordinaten: Lokale Koordinaten eines Objekts.
2. Welt-Koordinaten: Transformierte Positionen relativ zur Szene.
3. View-Koordinaten (Kamera-Koordinaten): Umgerechnet in das Sichtfeld der Kamera.
4. Clip-Koordinaten: Nach der Projektions-Transformation (z. B. Perspektivische oder orthogonale Projektion).
5. Normalisierte Gerätekoordinaten (NDC): Skalierte Werte im Bereich von -1 bis 1 für X, Y und Z.
6. Viewport-Koordinaten: Umgerechnet in Bildschirmkoordinaten.
5.) Perspektive und Projektionen
- Orthogonale Projektion: Keine perspektivische Verzerrung, alle Linien bleiben parallel.
- Perspektivische Projektion: Entfernte Objekte erscheinen kleiner, was eine realistischere Tiefenwirkung erzeugt.
(Bild-1) Das OpenGL xyz Koordinatensystem verstehen! |
![]() |
