Transformationen im 3D-Raum

19.09.2014    Thomas Jung    Repräsentation von 3D-Oberflächen Aufbau von Szenen Transformationen im 3D-Raum Projektionstranformationen Anw...
Author: Ruth Förstner
12 downloads 0 Views 613KB Size
19.09.2014

  

Thomas Jung

 



Repräsentation von 3D-Oberflächen Aufbau von Szenen Transformationen im 3D-Raum Projektionstranformationen Anwendung in OpenGL

Geometrietransformationen bilden die Basis für die Computergrafik sind Bestandteil aller grafischen Systeme  bilden die erste Stufe der Grafikpipeline  



 

Verständnis ist Voraussetzung für alle weiteren Vorlesungen und Übungen

Punktmenge mit jeweils 3 Koordinaten Zusammenfassung zu Polygonen

   

Betrachter Bildschirm Welt Objekte

1

19.09.2014



Plazieren Objekte im Raum bezüglich eines Referenzkoordinatensystems 

 



Transformationen im 3D-Raum Rotation Translation  Scherung  Stauchung  Skalierung  

Transformieren Objektkoordinaten in einheitliche Weltkoordinaten

Bilden Objekte auf den Bildschirm ab Ermöglichen Objektbewegungen 

Projektionen auf 2D-Fläche





Zur Vereinheitlichung aller Transformationen  Matrix-Vektor-Multiplikation w = 0 bedeutet Richtung  Z. B. Beleuchtungsrichtung  x = y = z = w = 0 verboten!

2

19.09.2014



Rotation um x-Achse



Rotation um y-Achse



Rotation um z-Achse





Beispiel

Transformierte Punktliste



Translation



Skalierung



Scherung

Drehsinn gemäß Rechter/Linker-Hand-Regel



( x2 / y2 )





Transformationsmatrix

Zusammenfassen von Transformationen in einer Matrix



Interpretation von Matrizen



Invertieren von Transformationsmatrizen



Repräsentation von Orientierungen

OriginalPunktliste

Kombination mehrerer Transformationen in einer homogenen Transformationsmatrix



Multiplikationen sind assoziativ



Alle Punkte eines Objekts innerhalb eines Koordinatensystems Ein Koordinatensystems bezüglich eines anderen Systems Richtungsvektoren



… aber nicht kommutativ !

y z

Von A

T x

Nach B

 Rx  0

Ry 0

Rz 0

T  1

4x4-Matrix

3

19.09.2014



A ist Inverse zu B





Nicht jede Transformation ist invertierbar Invertierung durch Determinanten- oder GaußVerfahren Spezielle Methoden für 3D-Transformationen

 





Orientierung eines Objekts ist äquivalent zu Rotation aus Ruhelage

(Tn * … * T2 * T1)-1 = T1-1 * T2-1 * … * Tn-1

 



3 Rotationsfreiheiten („Dimensionen“)



Repräsentationen 



Eulerwinkel (3 folgende Rotationen)  Quaternionen  glRotatef – Befehl



 

Rotationsmatrizen 



VL Computeranimation

Invertierung der Einzeltransformationen Umkehrung der Reihenfolge

 

Objektoberfläche durch Punkte beschreiben Mehrere Koordinatensysteme sind nötig Homogene Transformationen zur Vereinheitlichung Transformation von Punkten innerhalb eines Systems oder von Systemen ineinander Matrixmultiplikation ist assoziativ aber nicht kommutativ Transformationen im 3D-Raum besitzen Inverse Invertierung von Transformationsketten kehrt die Reihenfolge der Einzeltransformationen um

Bilden 3D-Raum auf Bildebene ab    

Orthogonale Projektion

Keine perspektivischen Effekte Erhalt der x- und y-Koordinate z wird auf die Bildebene abgebildet Größenvergleich am Bildschirm (CAD)

Perspektivische Projektion

4

19.09.2014





Berücksichtigung des Abstands zwischen Objekt und Betrachter Kameramodell



0

z

d

Betrachter im Ursprung schaut in Richtung der z-Achse  Bildschirm bei (0 0 d) 

y’







x’ = x*d/z y’ = y*d/z

Bildspeicher 

Perspektivisches Sichtvolumen

1025

... ... ... ...

lineare Adressierung

… 1024 2048

 

Transformationen im Vertexshader (GLSL) Matrixoperationen mit glm-Bibliothek im OpenGLProgramm

5020

Fenstersystem  





y

012





Strahlensatz: 



0

Sichtbarer Bereich zwischen Frontplane und Backplane Objekte werden an den sechs Flächen des Sichtvolumens abgeschnitten (Klipping) Abbildung der Projektionsebene auf den Bildschirm

x,y-Koordinaten y nach unten

Viewport 

x/y-offset

Fenster

Viewport

Koordinaten im Fenster Bildquelle: http://www.opengl-tutorial.org

    



Projektionen bilden den Raum auf eine Ebene ab Sie sind deshalb nicht invertierbar Orthogonale Projektionen für CAD Perspektivische Verzerrung z. B für Walkthroughs Der dargestellte Bereich wird durch das Sichtvolumen (Pyramidenstumpf) begrenzt OpenGL-Transformationsmodell

5

Suggest Documents