Koordinatensysteme und Transformationen

Slides:



Advertisements
Ähnliche Präsentationen
Fast Fourier Transformation
Advertisements

3. 3D-Betrachtungstransformationen
Elementare Grundlagen der Vektorrechnung
Schnelle Matrizenoperationen von Christian Büttner
• • • • • 3.2 Die projektive Erweiterung des E³
Lineare Funktionen mit der Gleichung y = mx
13. Transformationen mit Matrizen
Die Laue-Gleichungen und der Begriff der „Netzebene“
Komplexe Zahlen und Fourier-Transformation
Mechanik Mathematische Grundlagen und Begriffe: Formel? Funktion
Trigonometrische Funktionen
Kollisionen erkennen Kollisions- und Schnittpunkttests auf Dreieckbasis Kollisions- und Schnittpunkttests auf Viereckbasis Einsatz von achsenausgerichteten.
Dreidimensionale Spielewelten
Grundlagen der Geometrie
3.2 und 3.2.1: Räumliches Sehen und Koordinaten und Vektoren
Ein Modellansatz zur Beschreibung von Vagheiten
Klicke Dich mit der linken Maustaste durch das Übungsprogramm!
Klicke Dich mit der linken Maustaste durch das Übungsprogramm! Ein Übungsprogramm der IGS - Hamm/Sieg © IGS-Hamm/Sieg 2007 Dietmar Schumacher Zeichnerische.
Zentralprojektion „Perspektive“
Die Geometrie der Ebene
Kapitel 2 Die rationalen und die irrationalen Zahlen.
Kapitel 4 Geometrische Abbildungen
Beispiele für Gleichungssysteme
Geometrie. Geometrie 6. Ebene Geometrie Ein Punkt ist, was keinen Teil hat. Euklid ( ) Gerade analytisch: y = mx + c y(0) = c y(1)
Transformationen 09-Transformationen.
Quaternionen Eugenia Schwamberger.
Modellierung von Baumstrukturen mit einem einzigen Polygonnetz
Didaktik der Geometrie (8)
Folie 1 Kapitel II. Vom Raumbegriff zu algebraischen Strukturen Neubeginn: Herleitung des Begriffs Vektorraum aus intuitiven Vorstellungen über den Raumbegriff.
§14 Basis und Dimension (14.1) Definition: V sei wieder ein K-Vektorraum. Eine Menge B von Vektoren aus V heißt Basis von V, wenn B ist Erzeugendensystem.
Folie 1 § 30 Erste Anwendungen (30.2) Rangberechnung: Zur Rangberechnung wird man häufig die elementaren Umformungen verwenden. (30.1) Cramersche Regel:
§9 Der affine Raum – Teil 2: Geraden
§9 Der affine Raum – Teil 2: Geraden
§14 Basis und Dimension  (14.1) Definition: V sei wieder ein K-Vektorraum. Eine Menge B von Vektoren aus V heißt Basis von V, wenn B ist Erzeugendensystem.
§11 Skalarprodukt. Euklidische Räume
§8 Gruppen und Körper (8.1) Definition: Eine Gruppe G ist eine Menge zusammen mit einer Verknüpfung, die jedem Paar (a,b) von Elementen aus G ein weiteres.
Matrix-Algebra Grundlagen 1. Matrizen und Vektoren
Computergraphik mit OpenGL Einführung. Bilder Objekt existiert im Raum unabhängig vom Betrachter Objekte sind beschrieben durch die Position verschiedener.
§24 Affine Koordinatensysteme
Beispiel: Arbeit, Skalarprodukt zwischen Kraft- und Weg-Vektor
Computergrafik - Inhalt
Vektoren Grundbegriffe für das Information Retrieval
Skalare, Vektoren.
Lineare Algebra Komplizierte technologische Abläufe können übersichtlich mit Matrizen dargestellt werden. Prof. Dr. E. Larek
Computergraphische Visualisierungs- verfahren für 3D-Stadtmodelle
Modellierung des Raumes
Folie 1 Kapitel IV. Matrizen Inhalt: Matrizen als eigenständige mathematische Objekte Zusammenhang zwischen Matrizen und linearen Abbildungen Produkt von.
§23 Basiswechsel und allgemeine lineare Gruppe
§3 Allgemeine lineare Gleichungssysteme
Vektorrechnung in der Schule
Fuzzymengen – Was ist das?
Verhalten von Objekten in der Szene
Lineare Algebra, Teil 2 Abbildungen
Inhalt Vorbemerkung Vorstellung einer Unterrichtssequenz Kritik
Lineare Funktionen und ihre Schaubilder, die Geraden
Ähnlichkeit Von Dreiecken.
Multivariate Statistische Verfahren
Lineare Strahlenoptik
Grundrechenarten Lineare Funktionen f: y = a * x + b mit a, b ϵ R
Scaffold 29S: Komplexe Zahlen
Neuer Abschnitt: Modellierung des Raumes
Folie 1 §21 Das Produkt von Matrizen (21.1) Definition: Für eine (m,n)-Matrix A und eine (n,s)-Matrix B ist das (Matrizen-) Produkt AB definiert als (21.2)
Grundlagen der Geometrie
Didaktik der Geometrie (11) Vorlesung im Sommersemester 2004 Prof. Dr. Kristina Reiss Lehrstuhl für Didaktik der Mathematik Universität Augsburg.
Graphische Datenverarbeitung
Beugung an Streuzentren
8. Vektoren. 8. Vektoren Ortsvektor oder Polarvektor.
Abiturprüfung Mathematik 2012 Baden-Württemberg Allgemeinbildende Gymnasien Pflichtteil Lösungen
§23 Basiswechsel und allgemeine lineare Gruppe
 Präsentation transkript:

Koordinatensysteme und Transformationen P1 P1

B. Preim AG Visualisierung Koordinatensysteme Inhalt Koordinatensysteme Beschreibung von Positionen (Punkten) in 2D und 3D Mathematische Basis für computergraphische Algorithmen Transformationen Mathematische Beschreibung geometrischer Veränderungen von Objekten Einfache arithmetische Operationen Repräsentation durch Matrizen 2D und 3D Projektionen Übergang von nD nach (n-1)D – hier 3D nach 2D Grundlage für Kameramodelle in der Computergraphik B. Preim AG Visualisierung Koordinatensysteme

B. Preim AG Visualisierung Koordinatensysteme Einführung Motivation: Koordinatensysteme und Transforma-tionen für die Abbildung von 3D-Modellen entsprechend einer Kameraposition Beispiele: Weltkoordinaten → Kamerakoordinaten (3D-Modelle und Kamera in einheitliches Koordinatensystem überführen) Projektion auf die Bildebene (Kamerakoordinaten → Bildkoordinaten) Grundlagen: Geometrie und lineare Algebra Ausgangspunkt: Beschreibung von Objekten durch Mengen von Eckpunkten und Kanten (Polygone bzw. Polyeder) B. Preim AG Visualisierung Koordinatensysteme

B. Preim AG Visualisierung Koordinatensysteme Einführung Skalare, Punkte und „Vektoren“ Jeder Vektor (a,b,c) kann eindeutig in eine Linearkombination der Elemente der Basis des Vektorraumes zerlegt werden: (a,b,c) = a(1,0,0) + b(0,1,0) + c(0,0,1) Skalare a, b und c sind die kartesischen Koordinaten des Vektors im System der Einheitsvektoren des euklidischen Koordinatensystems. Die kartesischen Koordinaten eines Vektors sind die Projektionen dieses Vektors auf die Koordinatenachsen. Skalare sind reelle/komplexe Zahlen. Bei Transforma-tionen repräsentieren sie z.B. Drehwinkel und Skalie-rungsfaktoren. B. Preim AG Visualisierung Koordinatensysteme

B. Preim AG Visualisierung Koordinatensysteme Einführung Skalare, Vektoren und Matrizen Skalare – 0-dimensional Vektoren – 1-dimensional, n Komponenten Matrizen – 2-dimensional, nxm Elemente Zusammenhang: Komponenten eines Vektors bzw. Elemente einer Matrix sind Skalare. Zeilen bzw. Spalten einer Matrix sind Vektoren. Warum Matrizen? Beschreibung von Transformationen (Trafo-Matrizen) B. Preim AG Visualisierung Koordinatensysteme

B. Preim AG Visualisierung Koordinatensysteme Einführung Implementierung: Graphikbibliotheken enthalten oft vordefinierte Strukturen bzw. Klassen für Punkte, Vektoren und Matrizen. Diese enthalten Methoden zum „Rechnen“ mit Vektoren. Beispiele: Überladen von Operatoren zur Addition, Subtraktion Bestimmung von Kreuz- und Skalarprodukt Bestimmung der Größe eines Vektors OpenGL: typedef GLfloat point3[3]; point3 vertices [8] = {{-1.0, -1.0, -1.0}, {-1.0, 1.0, -1.0}, …}; B. Preim AG Visualisierung Koordinatensysteme

B. Preim AG Visualisierung Koordinatensysteme Einführung Vektorraum: enthält Vektoren und Skalare. In einem Vektorraum sind Operationen definiert, die Vektoren v und Skalare s verknüpfen. Multiplikation: f(v x s) → v Addition: f(v1,v2) → v Affiner Raum ist ein Vektorraum, der um Punkte p erweitert wird. Punkte können subtrahiert werden. Subtraktion: f (p1, p2) → v Euklidischer Raum ist ein affiner Raum, in dem skalare Werte quantifiziert werden, wobei das euklidische Abstandsmaß benutzt wird. In der CG nutzen wir vorrangig euklidische Räume. B. Preim AG Visualisierung Koordinatensysteme

B. Preim AG Visualisierung Koordinatensysteme Einführung Identische Vektoren Addition von Vektoren B. Preim AG Visualisierung Koordinatensysteme

B. Preim AG Visualisierung Koordinatensysteme Interpretation: Ein Vektor hat keine Position. Ausgehend von einem festen Punkt (z.B. o) definiert ein Vektor einen Punkt. Vektor (a,b,c) kann als Punkt im Raum dargestellt werden, der dem Endpunkt eines Vektors (a, b, c) ausgehend vom Koordinatenursprung (0,0,0) entspricht. Äquivalentes gilt für andersdimensionale Vektorräume n x y z (a,b,c) a(1,0,0) b(0,1,0) c(0,0,1) B. Preim AG Visualisierung Koordinatensysteme

B. Preim AG Visualisierung Koordinatensysteme Eine Menge (o, e1, e2, ..., en) bestehend aus einem Punkt o  An und der Basis (e1, e2, ...,en) von An heißt Koordinatensystem. Für jeden Punkt p  An ist Ortsvektor von p Komponenten von v heißen Koordinaten bezüglich (e1, e2, ..., en) d.h. p besitzt die Koordinaten (x1, x2, ..., xn): Punkt o heißt Koordinatenursprung B. Preim AG Visualisierung Koordinatensysteme

Koordinatensysteme in der CG zweidimensional dreidimensional y x X- Richtung des Daumens Y- Zeigefinger Z- Mittelfinger Die beiden Koordinaten- systeme sind spiegelbildlich und nicht durch Drehung ineinander zu überführen. y y z x rechtshändiges Koordinatensystem x linkshändiges Koordinatensystem z B. Preim AG Visualisierung Koordinatensysteme

Koordinatensysteme und Transformationen 2. Transformationen in 2D

B. Preim AG Visualisierung Koordinatensysteme Transformationen in 2D Fragestellung: Wie werden Bewegungen beschrieben? Wie berechnet man die Position von Objekten nach Bewegungen? Bewegungen = Transformationen Veränderung der Position von Punkten Verschiebung = Translation Größenveränderungen = Skalierung Drehung = Rotation Weitere affine Transformationen: Spiegelung Scherung B. Preim AG Visualisierung Koordinatensysteme

Transformationen in 2D: Translation Punkt (x,y) wird auf gerade Linie nach (x‘, y‘) verschoben. Beschreibung der Translation durch einen Vektor (dx,dy), der die Verschiebungsweite in x- und y-Richtung angibt Addition des Verschiebungs-vektors Noch eine Interpretation von Vektoren: Beschreiben den Weg bzw. die Linie von P1 zu P2 (x‘,y‘) dy (dx,dy) (x,y) dx B. Preim AG Visualisierung Koordinatensysteme

Transformationen in 2D: Skalierung Uniforme Skalierung Zentrum der Skalierung ist o, Skalierung erfolgt in alle Richtungen uniform mit dem skalaren Faktor a. Ortsvektor zu (x,y) wird auf das a-fache verlängert, um (x‘,y‘) zu erhalten Multiplikation mit dem Skalierungsfaktor (x‘,y‘) (x,y) B. Preim AG Visualisierung Koordinatensysteme

Transformationen in 2D: Skalierung Nicht-uniforme Skalierung Zentrum der Skalierung ist o, Skalierung erfolgt in x-Richtung mit dem Faktor a, in y-Richtung mit b (Skalierungsvektor (a, b)T) Ortsvektor zu (x,y) wird auf das a-fache in x-Richtung und das b-fache in y-Richtung verlängert. Multiplikation mit entsprechenden Skalierungsfaktoren (x‘,y‘) (x,y) B. Preim AG Visualisierung Koordinatensysteme

Transformationen in 2D: Rotation Rotationszentrum ist o. Punkt (x,y) wird um den Winkel a um o gedreht, so dass sich der Punkt (x‘,y‘) ergibt. Positive Werte von a ergeben eine Drehung entgegen dem Uhrzeigersinn. (x‘,y‘) (x,y) a B. Preim AG Visualisierung Koordinatensysteme

Transformationen in 2D: Rotation Herleitung der Berechnungsvorschrift: Entfernung r vom Ursprung zu (x,y) bzw. (x‘,y‘) bleibt unverändert. Nutzung von Additionstheoremen für Winkelfunktionen. y (I) (III) (IV) (II) (x‘,y‘) r (I) In (III) und (II) in (IV) einsetzen: (x,y) r a f r cos(a + f) r cosf x B. Preim AG Visualisierung Koordinatensysteme

Transformationen in 2D: Rotation Berechnungsvorschrift Kann als Matrix-Vektormultiplikation ausgedrückt werden: Rotationen um negative Winkel erfolgen mit dem Uhrzeigersinn; ausnutzen: cos(-a)=cos(a) und sin(-a)=-sin(a) B. Preim AG Visualisierung Koordinatensysteme

Transformationen in 2D: Zwischenergebnis Translation: Addition des Verschiebungsvektors Skalierung: Multiplikation des Skalierungsfaktors Rotation: Matrixmultiplikation Keine einheitliche Behandlung! Schwierig bei zusammengesetzten Transformationen! Einheitliche Repräsentation von Transformationen gesucht → Homogene Koordinaten B. Preim AG Visualisierung Koordinatensysteme

Transformationen in 2D: Homogene Koordinaten Ein Koordinatensystem wird in ein homogenes Koordinatensystem überführt, indem eine zusätzliche Dimension eingeführt wird: n  n+1 Dimensionen. Ein Punkt (x, y) wird in homogenen Koordinaten durch das Tripel (x·w, y·w, w) repräsentiert, mit w0. Normalisierte Darstellung: w = 1  (x, y, 1) Jeder Punkt hat unendlich viele äquivalente Repräsentationen in homogenen Koordinaten. Achtung: Homogene Koordinaten von 2D-Punkten nicht mit „normalen“ 3D-Koordinaten verwechseln! B. Preim AG Visualisierung Koordinatensysteme

B. Preim AG Visualisierung Koordinatensysteme Transformationen in 2D: Homogene Koordinaten Vorteile: Repräsentation aller Punkte in homogenen Koordinaten ermöglicht einheitliche Behandlung der Transformationen Fragen: Was steht für das Fragezeichen? Welche Operation ist *? Antwort: Transformationen werden als Matrizen repräsentiert Verknüpfung durch Multiplikation ? B. Preim AG Visualisierung Koordinatensysteme

B. Preim AG Visualisierung Koordinatensysteme Transformationen in 2D: Homogene Koordinaten Translation Vorher: Addition eines Vektors Jetzt: Multiplikation mit einer Translationsmatrix Skalierung Vorher: komponentenweise Multiplikation mit Skalierungsfaktoren Jetzt: Multiplikation mit einer Skalierungsmatrix B. Preim AG Visualisierung Koordinatensysteme

B. Preim AG Visualisierung Koordinatensysteme Transformationen in 2D: Homogene Koordinaten Rotation Vorher: komplexe Gleichung oder Matrixmultiplikation Jetzt: Multiplikation mit einer Rotationsmatrix Allgemeine 2D-Transformationsmatrix Skalierung Rotation Translation B. Preim AG Visualisierung Koordinatensysteme

B. Preim AG Visualisierung Koordinatensysteme Transformationen in 2D: Homogene Koordinaten Inverse Transformationen: Frage: Wie macht man Transformationen rückgängig (was sind die inversen Transformationen)? Für elementare Transformationen einfach: Translation: Verschiebung um den negativen Verschiebungsvektor T-1(dx, dy) = T(-dx, -dy) Skalierung: Skalierung mit dem reziproken Skalierungsfaktor S-1(a) = S(1/a) Rotation: Rotation um den negativen Rotationswinkel. Da aber Rotationsmatrizen orthogonal sind, gilt R-1 = RT. B. Preim AG Visualisierung Koordinatensysteme

B. Preim AG Visualisierung Koordinatensysteme Transformationen in 2D: Homogene Koordinaten Zusammengesetzte Transformationen Nacheinanderausführung zweier Translationen Translation ist additiv, d.h. Ergebnis ist eine Verschiebung um die Summe beider Vektoren Nacheinanderausführung zweier Skalierungen Skalierung ist multiplikativ, d.h. Ergebnis ist eine Skalierung um das Produkt der beiden Faktoren.   B. Preim AG Visualisierung Koordinatensysteme

B. Preim AG Visualisierung Koordinatensysteme Transformationen in 2D: Homogene Koordinaten Nacheinanderausführung zweier Rotationen Rotation ist additiv. Allgemein: Homogene Koordinaten Ermöglichen Vereinheitlichung und Kombination aller geometrischen Transformationen Schreibweise Transformationen werden in der Reihenfolge T1, T2, ..., Tn ausgeführt  P‘=Tn·...·T2·T1·P B. Preim AG Visualisierung Koordinatensysteme

B. Preim AG Visualisierung Koordinatensysteme Transformationen in 2D: Homogene Koordinaten Zusammensetzen von Transformationen Rotation eines Punktes um einen beliebigen Punkt P1 in der Ebene Ausführung in drei Schritten Translation, so dass P1 im Ursprung liegt Rotation um den Ursprung Rück-Translation von P1 P1 P1 B. Preim AG Visualisierung Koordinatensysteme

B. Preim AG Visualisierung Koordinatensysteme Transformationen in 2D: Homogene Koordinaten Zusammensetzen von Transformationen Zerlegung von komplizierten Transformationen in elementare Transformationen Repräsentation der Gesamt-Transformation durch eine Matrix möglich B. Preim AG Visualisierung Koordinatensysteme

B. Preim AG Visualisierung Koordinatensysteme Transformationen in 2D: Homogene Koordinaten Zusammensetzen von Transformationen: Aber: Matrixmultiplikation ist i.a. nicht kommutativ! Das bedeutet: Reihenfolge der Transformationen ist ausschlaggebend für das Ergebnis also: Tn...T2T1P  T1T2...TnP  T2Tn...T1P wenn die Ti voneinander verschiedene Transformationen sind Allerdings in einigen Fällen besteht Kommutativität: Nacheinanderausführung von Translationen Nacheinanderausführung von Skalierungen Nacheinanderausführung von Rotationen B. Preim AG Visualisierung Koordinatensysteme

B. Preim AG Visualisierung Koordinatensysteme Transformationen in 2D: Homogene Koordinaten Weitere Transformationen: Spiegelung an der x-Achse an der y-Achse wird implementiert als Skalierung mit dem Faktor -1 B. Preim AG Visualisierung Koordinatensysteme

B. Preim AG Visualisierung Koordinatensysteme Transformationen in 2D: Homogene Koordinaten Weitere Transformationen: Scherung Versatz parallel zur x-Achse, proportional zur y-Position (bzw. umgekehrt) in x-Richtung in y-Richtung (x,y) (x‘,y‘) B. Preim AG Visualisierung Koordinatensysteme

B. Preim AG Visualisierung Koordinatensysteme Transformationen in 2D: Homogene Koordinaten Affine Transformationen Jede Sequenz von Rotation, Translation und Skalierung erhält die Parallelität von Linien, aber nicht Längen und Winkel. Solche Transformationen heißen affine Transformationen. B. Preim AG Visualisierung Koordinatensysteme

B. Preim AG Visualisierung Koordinatensysteme Transformationen in 2D: Homogene Koordinaten Affine Abbildungen sind: Geradentreu. Das Bild einer Geraden ist wieder eine Gerade. Parallelentreu. Parallele Geraden haben parallele Bildgeraden. Teilverhältnistreu. Dem Teilverhältnis auf einer Geraden entspricht das Teilverhältnis auf der Bildgeraden. Bsp: Wenn Punkt C Strecke AB im Verhältnis 1:2 teilt, dann liegt C´auf A´B´und teilt A´B´im gleichen Verhältnis. nicht verhältnistreu in Bezug auf Teilflächen Bsp: Wenn ein Punkt D das Dreieck ABC in drei gleich große Dreieck ABD, ACD und BCD teilt, dann ist das Verhältnis der Flächen von A´B´D´zu A´C´D´zu B´C´D´im allgemeinen nicht 1:1:1. nicht längentreu nicht winkeltreu nicht flächentreu. C D A B B. Preim AG Visualisierung Koordinatensysteme

Koordinatensysteme und Transformationen 3. Transformationen in 3D

B. Preim AG Visualisierung Koordinatensysteme 3D Transformationen Vorgehensweise gleich zu 2D Repräsentation in homogenen Koordinaten (4D) Transformationsmatrizen demzufolge 44-Matrizen B. Preim AG Visualisierung Koordinatensysteme

3D Transformationen: Matrizen Translation Addition eines Translationsvektors bzw. Multiplikation mit einer Translationsmatrix Skalierung Multiplikation mit Skalierungsfaktoren bzw. Multiplikation mit einer Skalierungsmatrix uniforme Skalierung, wenn sx=sy=sz, sonst Nicht-uniforme Skalierung B. Preim AG Visualisierung Koordinatensysteme

3D Transformationen: Matrizen Rotation Rotationen um die verschiedenen Koordinatenachsen müssen betrachtet werden. 3 verschiedene Rotationsmatrizen (Rotation um positive Winkel in rechtshändigem Koordinatensystem) Achse, um die gedreht wird, bleibt „Einheitsvektor“ in der Matrix B. Preim AG Visualisierung Koordinatensysteme

3D Transformationen: Matrizen Warum unterschiedliche Vorzeichen bei den Winkeln (Sinus)? Gegenüber der 2D-Herleitung, Spiegelung an der x-Achse  (x, -y)  (sin α = - sin (- α), cos (- α) = cos α y x x rechtshändiges Koordinatensystem z z B. Preim AG Visualisierung Koordinatensysteme

3D Transformationen: Matrizen Überführung rechtshändiges in linkshändiges Koordinatensystem (Spiegelung) B. Preim AG Visualisierung Koordinatensysteme

B. Preim AG Visualisierung Koordinatensysteme 3D Transformationen: Matrizen Zusammensetzen von Transformationen auch über Multiplikation der Matrizen generelle Transformationsmatrix in 3D Skalierung Rotation Translation B. Preim AG Visualisierung Koordinatensysteme

3D Transformationen: Matrizen Matrizen werden in der CG benötigt für Transformationen der Szene in Kamerakoordinaten und Projektionen. Realisierung in OpenGL: In OpenGL wird die Spezifikation dieser Matrizen (4x4, homogene Koordinaten) unterstützt; alle Matrizen werden einheitlich gehandhabt. Der glMatrixMode spezifiziert, auf welche Matrix sich die folgenden Kommandos beziehen. glLoadIdentity () setzt Matrix auf die Einheitswerte glLoadMatrixf (matrixPointer) lädt die Matrix mit dem angege- benen Feld (1D, 16 Werte) glMultMatrixf (matrixPointer) multipliziert aktuelle Matrix mit der angegebenen glPushMatrix(), glPopMatrix() Matrix auf einem Stack ablegen bzw. vom Stack holen. B. Preim AG Visualisierung Koordinatensysteme

3D Transformationen: Matrizen Realisierung in OpenGL: glTranslatef (v1, v2, v3) multipliziert aktuelle Matrix mit einer Translationsmatrix glRotatef (ang, ref1, ref2, ref3) multipliziert aktuelle Matrix mit einer Rotationsmatrix. Rotation um (ref1; ref2; ref3) und den Winkel „ang“. Beispiel: glPushMatrix(); // aktuelle Matrix auf dem Stack sichern glMatrixMode (GL_MODEL_VIEW); // Welche Matrix? glLoadIdentity(); // Initialisierung glTranslatef (4.0, 5.0, 3.0); // Translation glRotatef (45.0,1.0, 0.0, 0.0);// Rotation um x-Achse glTranslatef (-4.0, -5.0, -3.0); // Rücktranslation glPopMatrix(); // Matrix rekonstruieren Reihenfolge: Alle Manipulationen der Matrizen sind postmultiplikativ. B. Preim AG Visualisierung Koordinatensysteme

Koordinatentransformationen Bisher: Transformation von Punkten in neue Punkte bei konstantem Koordinatensystem („geometrische Transformationen“) Äquivalente Sichtweise: Wechsel des Koordinatensystems bei konstantem geometrischen Objekten („Koordinatentransfor-mationen“) Allgemein gilt: Geometrische Transformationen und entsprechende Koordinatentransformationen sind invers zueinander! Computergraphik: Geometrische Objekte oft in lokalem „bequemem“ Koordinatensystem definiert („Objekt-Koordinatensystem“) Koordinatentransformation in Weltkoordinaten gibt Lage des Objekts in der Szene wider. B. Preim AG Visualisierung Koordinatensysteme

Zusammenfassung Transformationen Geometrische Transformationen sind lineare Abbildungen vom n in den n für uns von besonderem Interesse 2  2 und 3  3 Für Computergraphik relevant: Translation Skalierung Rotation Scherung, Spiegelung Einheitliche Behandlung der Transformationen durch Übergang zu homogenen Koordinaten und zur Darstellung der Transformationen durch Matrizen B. Preim AG Visualisierung Koordinatensysteme

Zusammenfassung Transformationen Zusammengesetzte Transformationen durch Hintereinanderausführen von elementaren Transformationen, entspricht Multiplikation der Matrizen. Transformation der Objekte oder des Koordinaten-systems B. Preim AG Visualisierung Koordinatensysteme