- Homogene Koordinaten
-
In der Projektiven Geometrie spielen homogene Koordinaten eine fundamentale Rolle. Sie wurden 1827 in dem Spezialfall Baryzentrischer Koordinaten (oder Dreieeckskoordinaten) von August Ferdinand Möbius eingeführt.
Punkte im n-dimensionalen projektiven Raum lassen sich durch Identifizierung der Punkte auf Geraden durch den Ursprung im (n+1)-dimensionalen Raum konstruieren. Es sei (K sind üblicherweise die reellen Zahlen) und die dazugehörige Gerade durch 0 und x mit [x0:x1:...:xn] bezeichnet. Das ergibt homogene Koordinaten [x0:x1:...:xn] für den n-dimensionalen projektiven Raum, wobei die Äquivalenzrelation [x0:x1:...:xn] = [y0:y1:...:yn] gilt, falls ein existiert, so dass xi = λyi für i=0,...,n. → Ausführlicher wird die Verwendung homogener Koordinaten im Hauptartikel „Projektives Koordinatensystem“ dargestellt.
Allgemein gilt für homogene Koordinaten, dass zugehörige Punkte P und λP identifiziert werden (für ein ).
Inhaltsverzeichnis
Anwendung homogener Koordinaten in der Computergeometrie
Homogene Koordinaten erlauben die Darstellung von affinen Transformationen durch eine Multiplikation der Koordinaten mit Matrizen in einfacher Weise. Zum Beispiel lässt sich eine Skalierung und anschließende Verschiebung aller Punkte x einer 2D-Ebene
in homogenen Koordinaten
linear ausdrücken (M' enthält hier b), indem das Problem in einen um eine Dimension höheren Raum transformiert wird (wie etwa auch bei der projektiven Geometrie). Inhomogene Gleichungssysteme werden so homogen und können mit anderen Methoden oder effizienteren Algorithmen gelöst werden.
Homogene Koordinaten dienen häufig zur Umrechnung von Koordinatensystemen. Um Rundungsfehler zu vermeiden und Berechnungsaufwand massiv zu reduzieren, ist es vorteilhaft, mehrere aufeinander folgende Matrixtransformationen (Translation, Drehung, Skalierung, Scherung) zu einer einzigen Transformationsmatrix zusammenzufassen.
Die Seitenbeschreibungssprache PostScript beispielsweise erlaubt es, das Koordinatensystem zu verschieben und zu rotieren. Solche Transformationen können von einem PostScript-Interpreter wie z.B. Ghostscript oder der Drucker-Software am einfachsten über Homogene Koordinaten gehandhabt werden.
Auch in der 3D-Computergrafik wird dies beispielsweise genutzt, um sehr schnell die Koordinaten der Stützpunkte (Vertices) von Dreiecksnetzen aus dem Koordinatensystem eines virtuellen Objektes abhängig von der Bewegung einer virtuellen Kamera in aktuelle Bildschirmkoordinaten umzurechnen. Computergrafik-Schnittstellen wie OpenGL und DirectX arbeiten mit homogenen Koordinaten und führen die Berechnungen weitgehend in der Grafikkarte aus, wenn diese das unterstützt.
In der Robotik lassen sich hintereinanderliegende Achsen durch Verkettung ihrer zugehörigen homogenen Matrizen beschreiben. Hierfür wird als Standardverfahren die Denavit-Hartenberg-Transformation angewandt.
Homogene Matrizen
Rotation, Skalierung und Scherung eines dreidimensionalen, räumlichen Objektes lassen sich je durch eine Matrix beschreiben, eine Translation des Objektes dagegen durch einen Vektor. Hinderlich ist dabei, dass die drei erstgenannten Operationen eine Matrizenmultiplikation erfordern, die Translation hingegen eine Vektoraddition.
Um eine Translation ebenfalls als Matrixoperation berechnen zu können, wird der Raum um eine weitere Dimension erweitert. Eine Translation im dreidimensionalen Raum lässt sich nun durch eine Matrizenmultiplikation mit einer Matrix beschreiben.
Die Transformation von kartesischen Koordinaten zu homogenen Koordinaten erfolgt durch:
Die Abbildung eines Punktes Px,y,z von einem Koordinatensystem in ein anderes geschieht durch die Multiplikation mit der homogenen Matrix :
Aufgrund der Assoziativität von Matrizenmultiplikationen können mehrere aufeinanderfolgende Multiplikationen zu einer einzigen Gesamtmatrix zusammengefasst werden.
Die fehlende Kommutativität bedingt, dass die Reihenfolge der Objektmanipulationen von Bedeutung ist. Anschaulich lässt sich dies so interpretieren, dass es einen Unterschied macht, ob in einem lokalen Bezugssystem ein Objekt zuerst entlang einer Achse verschoben und dann im neuen lokalen Bezugssystem rotiert wird, oder ob ein Objekt zuerst rotiert und dann das Objekt in der gleichen Richtung des nun mitrotierten lokalen Bezugssystems in eine neue Richtung in Bezug auf Weltkoordinaten verschoben wird.
Eine Rücktransformation von homogenen Koordinaten in kartesische Koordinaten erlaubt es, auch die perspektivische Abbildung durch eine Matrix zu beschreiben:
Die Koordinaten x'' und y'' können bereits als Bildschirmkoordinaten verwendet werden. z'' gibt die Distanz des transformierten Punktes vom virtuellen Bildschirm an und wird im Z-Buffer (Tiefenpuffer) gespeichert. Eine perspektivische Abbildung führt dazu, dass die Gesamtmatrix singulär wird und nicht mehr invertiert werden kann.
Wichtige elementare homogene Transformationsmatrizen
Translation: = Rotation um x-Achse: = Rotation um y-Achse: = Rotation um z-Achse: = Skalierung: = Perspektive: = Orthogonale Projektion: = Beispiel
Die Rotation um einen Punkt Q(tx,ty,tz) und eine perspektivische Abbildung mit dem Abstand d zwischen Betrachterauge und Projektionsebene kann durch eine einzige Matrix beschrieben werden. Zuerst wird der Ursprung des lokalen Koordinatensystems in den Punkt Q mittels verschoben. Danach erfolgt die Rotation . Anschließend wird das Koordinatensystem wieder in den anfänglichen Ursprung zurückverschoben mittels . Die perspektivische Abbildung erfolgt durch . Zusammengefasst entsteht dabei die Matrix , wobei die Matrizen von links operieren, also von rechts nach links nacheinander auf einen ganz rechts stehenden Ortsvektor angewandt werden.
Literatur
- Lehrbücher der Projektiven Geometrie
- C. E. Springer: Geometry and Analysis of Projective Spaces. San Francisco und London, 1964
Wikimedia Foundation.