Homogene Koordinaten

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 x=(x_0,x_1,...,x_n) \in K^{n+1}\backslash\{0\} (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  \lambda \in K\backslash\{0\} 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 \lambda \neq 0).

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

x_{\text{transformed}} = \underline{M}_{\;2\!\times\!2} 
	\cdot x + b

in homogenen Koordinaten

{x'}_{\text{transformed}} = \underline{M'}_{\;3\!\times\!3} 
	\cdot {x'}

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 3\!\times\!3 Matrix beschreiben, eine Translation des Objektes dagegen durch einen 3\!\times\!1 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 4\!\times\!4 Matrix beschreiben.

Die Transformation von kartesischen Koordinaten zu homogenen Koordinaten erfolgt durch:


  \left( x,y,z\right)^{T}
  \rightarrow  
  \left( x,y,z,1 \right)^{T}

Die Abbildung eines Punktes Px,y,z von einem Koordinatensystem in ein anderes geschieht durch die Multiplikation mit der homogenen Matrix \underline{M}:


(x',y',z',w')^{T} = \underline{M}_{\;4\!\times\!4} 
	\cdot (x,y,z,w)^{T}

Aufgrund der Assoziativität von Matrizenmultiplikationen können mehrere aufeinanderfolgende Multiplikationen zu einer einzigen Gesamtmatrix \underline{M} 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:


\left( x',y',z',w'\right)^{T} 
  \rightarrow 
  \left( \frac{x'}{w'}, \frac{y'}{w'}, \frac{z'}{w'} \right)^{T} =
  (x'',y'',z'')^{T}

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: \underline{T} =  
\begin{pmatrix}
  1 & 0 & 0 & t_{x} \\
  0 & 1 & 0 & t_{y} \\
  0 & 0 & 1 & t_{z} \\
  0 & 0 & 0 & 1
\end{pmatrix}
 \underline{T} \cdot (x,y,z,1)^T = (x+t_x, y+t_y, z+t_z,1)^T
Rotation um x-Achse: \underline{R_{x}} =  
\begin{pmatrix}
  1     & 0           & 0            & 0 \\
  0     & \cos \alpha & -\sin \alpha  & 0 \\
  0     & \sin \alpha & \cos \alpha  & 0 \\
  0     & 0           & 0            & 1
\end{pmatrix}
Rotation um y-Achse: \underline{R_{y}} =  
\begin{pmatrix}
  \cos \beta     & 0           & \sin \beta            & 0 \\
  0     & 1 & 0  & 0 \\
  -\sin \beta     & 0 & \cos \beta  & 0 \\
  0     & 0           & 0            & 1
\end{pmatrix}
Rotation um z-Achse: \underline{R_{z}} =  
\begin{pmatrix}
  \cos \gamma     &  -\sin \gamma  & 0 & 0\\
  \sin \gamma     & \cos \gamma   & 0 & 0 \\
  0     & 0       & 1           & 0 \\
  0     & 0       & 0           & 1
\end{pmatrix}
Skalierung: \underline{S} =  
\begin{pmatrix}
  s_{x} & 0     & 0     & 0 \\
  0     & s_{y} & 0     & 0 \\
  0     & 0     & s_{z} & 0 \\
  0     & 0     & 0     & 1
\end{pmatrix}
 \underline{S} \cdot (x,y,z,1)^T = (s_x \cdot x, s_y \cdot y, s_z \cdot z,1)^T
Perspektive: \underline{P} =  
\begin{pmatrix}
  1	& 0     & 0     & 0 \\
  0     & 1     & 0     & 0 \\
  0     & 0     & 1     & 0 \\
  0     & 0     & \frac{1}{d} & 0
\end{pmatrix}
 \underline{P} \cdot (x,y,z,1)^T = ( x, y, z, \frac{z}{d})^T
Orthogonale Projektion: \underline{P_{\mathrm{orth}, z=0}} =  
\begin{pmatrix}
  1	& 0     & 0     & 0 \\
  0     & 1     & 0     & 0 \\
  0     & 0     & 0     & 0 \\
  0     & 0     & 0     & 1 
\end{pmatrix}
 \underline{P_{\mathrm{orth}, z=0}} \cdot (x,y,z,1)^T = (x, y, 0, 1)^T

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 \underline{M} beschrieben werden. Zuerst wird der Ursprung des lokalen Koordinatensystems in den Punkt Q mittels \underline{T}^{-1} verschoben. Danach erfolgt die Rotation \underline{R}. Anschließend wird das Koordinatensystem wieder in den anfänglichen Ursprung zurückverschoben mittels \underline{T}. Die perspektivische Abbildung erfolgt durch \underline{P}. Zusammengefasst entsteht dabei die Matrix 
\underline{M} = 
\underline{P} \cdot 
\underline{T} \cdot 
\underline{R} \cdot 
\underline{T}^{-1}
, 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.

Игры ⚽ Нужно решить контрольную?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • homogene Koordinaten — vienalytės koordinatės statusas T sritis fizika atitikmenys: angl. homogeneous coordinates vok. homogene Koordinaten, f rus. однородные координаты, f pranc. coordonnées homogènes, f …   Fizikos terminų žodynas

  • homogene Koordinaten — homogene Ko|ordinaten,   Mathematik: projektive Geometrie …   Universal-Lexikon

  • Koordinaten [1] — Koordinaten, eindeutige, voneinander unabhängige, in genügender Zahl vorhandene Bestimmungsstücke von geometrischen Grundgebilden (Punkten, Geraden, Ebenen); sie dienen dazu, die Lage derselben gegenüber von andern Grundgebilden, welche das… …   Lexikon der gesamten Technik

  • Homogene Abbildung — Eine mathematische Funktion heißt homogen vom Grad n, wenn bei proportionaler Änderung aller Variablen um den Proportionalitätsfaktor α sich der Funktionswert um den Faktor αn ändert. Formal: Eine Funktion auf dem k dimensionalen reellen… …   Deutsch Wikipedia

  • Homogene Funktion — Eine mathematische Funktion heißt homogen vom Grad n, wenn bei proportionaler Änderung aller Variablen um den Proportionalitätsfaktor α sich der Funktionswert um den Faktor αn ändert. Formal: Eine Funktion auf dem k dimensionalen reellen… …   Deutsch Wikipedia

  • Affine Koordinaten — sind Koordinaten, die im mathematischen Teilgebiet der linearen Algebra einem Punkt eines n dimensionalen affinen Raumes bezüglich einer sogenannten affinen Punktbasis zugeordnet werden, das ist eine geordnete Menge von n + 1 Punkten des Raumes… …   Deutsch Wikipedia

  • Trilineare Koordinaten — (genauer: homogene trilineare Koordinaten) sind in der Dreiecksgeometrie ein von Julius Plücker eingeführtes Hilfsmittel, um die Lage eines Punktes bezüglich eines Dreiecks zu beschreiben. Inhaltsverzeichnis 1 Definition und Schreibweise 2… …   Deutsch Wikipedia

  • Baryzentrische Koordinaten — (auch homogene baryzentrische Koordinaten) dienen in der linearen Algebra und in der Geometrie dazu, die Lage von Punkten in Bezug auf eine gegebene Strecke, ein gegebenes Dreieck, ein gegebenes Tetraeder oder allgemeiner ein gegebenes Simplex zu …   Deutsch Wikipedia

  • Epipolargeometrie — Zwei Kameras nehmen von unterschiedlichen Standpunkten eine Szene auf. Die Epipolargeometrie beschreibt die Beziehung zwischen den beiden Bildern. Die Epipolargeometrie (selten auch Kernstrahlgeometrie) ist ein mathematisches Modell aus der… …   Deutsch Wikipedia

  • Fernpunkt (Geometrie) — Die projektive Geometrie ist ein Teilgebiet der Geometrie. Sie ist aus der perspektivischen Darstellung dreidimensionaler Gegenstände in der zweidimensionalen Ebene hervorgegangen. Im Gegensatz zur „gewöhnlichen“, euklidischen Geometrie, gibt es… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”