Homogene Koordinaten
# Homogene Koordinaten

In der projektiven Geometrie werden homogene Koordinaten verwendet, um Punkte in einem projektiven Raum durch Zahlenwerte darzustellen und damit geometrische Probleme einer rechnerischen Bearbeitung zugänglich zu machen. Im Vergleich zu den normalerweise verwendeten (inhomogenen) Koordinaten, die jeden Punkt eindeutig identifizieren, haben homogene Koordinaten die Eigenschaft, dass sie für einen vorgegebenen Punkt nicht eindeutig bestimmt sind. Der Vorteil homogener Koordinaten liegt in der einheitlichen Darstellung der Elemente eines projektiven Raums, bei der Fernelemente keine Sonderrolle mehr spielen. Zudem lassen sich durch die Verwendung homogener Koordinaten alle Kollineationen, und damit auch Parallelverschiebungen, einheitlich durch lineare Abbildungen und damit durch Matrizen beschreiben. Aus diesem Grund spielen homogene Koordinaten im dreidimensionalen Raum eine wichtige Rolle in der Computergrafik.

## Projektive Koordinatensysteme

### Homogene Koordinaten

Homogene Koordinaten lassen sich am besten am Beispiel der reellen projektiven Ebene verstehen. Die projektive Gerade und höherdimensionale projektive Räume werden analog mit Koordinaten versehen. Im homogenen Modell der reellen projektiven Ebene entspricht

* ein Punkt der projektiven Ebene einer Ursprungsgerade im dreidimensionalen Raum und
* eine Gerade der projektiven Ebene einer Ursprungsebene im dreidimensionalen Raum.

Ein Punkt liegt dann auf einer Gerade, falls die zum Punkt gehörige Ursprungsgerade in der zur Gerade gehörenden Ursprungsebene liegt (siehe Bild). Ein Punkt $P$ der projektiven Ebene kann damit durch einen beliebigen Punkt $(x_{1},x_{2},x_{3})\neq (0,0,0)$ der zugehörigen Ursprungsgerade beschrieben werden. Man schreibt dann

    $P=(x_{1}\colon x_{2}\colon x_{3})$

und nennt $x_{1},x_{2},x_{3}$ homogene Koordinaten des Punktes $P$. Es gilt

    $(x_{1}\colon x_{2}\colon x_{3})=(rx_{1}\colon rx_{2}\colon rx_{3})$

für jede Zahl $r\neq 0$. Eine Gerade der projektiven Ebene wird dann durch eine (homogene) Ebenengleichung $ax_{1}+bx_{2}+cx_{3}=0$ beschrieben. In diesem Modell überzeugt man sich leicht von den grundlegenden Inzidenzeigenschaften einer projektiven Ebene:

* Zu je zwei verschiedenen Punkten gibt es genau eine Verbindungsgerade, die beide Punkte enthält.
* Je zwei verschiedene Geraden besitzen genau einen Schnittpunkt.

### Inhomogene Koordinaten

Beim inhomogenen Modell der reellen projektiven Ebene geht man von der Anschauungsebene aus und ergänzt die Punktmenge durch Fernpunkte so, dass sich je zwei Geraden, also auch parallele Geraden, in genau einem Punkt schneiden.

Nach Einführung von kartesischen Koordinaten fügt man jeder Gerade $y=mx+d,d\in \mathbb {R} ,$ mit der Steigung $m$ üblicherweise den Fernpunkt $(m)$ hinzu. Die Geraden $x=c$ (Parallelen zur y-Achse) erhalten den Fernpunkt $(\infty )$ (siehe Bild). Da auch je zwei Fernpunkte durch eine Gerade verbunden sein müssen, fasst man alle Fernpunkte zur Ferngerade $g_{\infty }$ zusammen. Man prüft leicht nach, dass die neue Inzidenzstruktur (erweiterte Anschauungsebene) die wesentlichen Eigenschaften einer projektiven Ebene erfüllt:

* Je zwei Punkte haben genau eine Verbindungsgerade.
* Je zwei Geraden haben genau einen Schnittpunkt.

### Zusammenhang zwischen beiden

Um zu zeigen, dass das homogene und das inhomogene Modell der reellen projektiven Ebene isomorph sind, wird das inhomogene Modell derart in den dreidimensionalen Raum eingebettet, dass die Punkte der Anschauungsebene die Gleichung $x_{3}=1$ erfüllen: $(x,y)\rightarrow (x,y,1)$. Damit wird dem Punkt $(x,y)$ des inhomogenen Modells der Punkt $(x\colon y\colon 1)$ des homogenen Modells zugeordnet. Ein Punkt $(x,mx+d)$ wird dabei auf denjenigen Punkt $(x_{1}\colon x_{2}\colon x_{3})$ abgebildet, dessen homogene Koordinaten die Gleichung $mx_{1}-x_{2}+dx_{3}=0,x_{3}\neq 0$ erfüllen. Also kann man dem allen inhomogenen Geraden $y=mx+d,d\in \mathbb {R}$ gemeinsamen Fernpunkt $(m)$ die allen Ursprungsebenen $mx_{1}-x_{2}+dx_{3}=0,d\in \mathbb {R}$ gemeinsame Ursprungsgerade $(1\colon m\colon 0)$ zuordnen (siehe Bild).

Der große Vorteil homogener Koordinaten gegenüber den anschaulicheren inhomogenen Koordinaten liegt in der homogenen Darstellung der Punkte und Geraden. Fernpunkte und Ferngerade spielen formal keine Sonderrolle mehr und alle Kollineationen, einschließlich der Translationen, lassen sich einheitlich durch lineare Abbildungen (Matrizen) beschreiben. Letzteres spielt insbesondere in der Computergrafik eine große Rolle.

Zusammenfassung:

    $(x,y)\ \rightarrow \ (x\colon y\colon 1)\ ,\quad (m)\ \rightarrow \ (1\colon m\colon 0)\ ,\quad (\infty )\ \rightarrow \ (0\colon 1\colon 0)\ .$

Umkehrung:

    $(x_{1}\colon x_{2}\colon x_{3})\ \rightarrow \ \left({\frac {x_{1}}{x_{3}}},{\frac {x_{2}}{x_{3}}}\right)$, falls $x_{3}\neq 0\ ,$
    $(x_{1}\colon x_{2}\colon 0)\ \ \rightarrow \ \left({\frac {x_{2}}{x_{1}}}\right)$, falls $x_{1}\neq 0\ ,$
    $(0\colon x_{2}\colon 0)\quad \rightarrow \ (\infty )\ .$

Zuordnung der Geraden:

    $y=mx+d\ \leftrightarrow \ mx_{1}-x_{2}+dx_{3}=0\ ,$
    $x=c\quad \qquad \leftrightarrow \ x_{1}-cx_{3}=0\ ,$
    $g_{\infty }\qquad \qquad \,\leftrightarrow \ x_{3}=0\ .$

Die Einbettung wird in der Literatur nicht einheitlich dargestellt. So können die homogenen Koordinaten auch mit $(x_{0},x_{1},x_{2})$ bezeichnet sein oder die Ferngerade die Gleichung $x_{1}=0$ erfüllen.

### Andere Einbettungen, baryzentrische Koordinaten

Der affine Teil des inhomogenen Modells einer projektiven Ebene lässt sich auch anders in das homogene Modell ($\mathbb {R} ^{3}$) einbetten. Bei der üblichen Einbettung ist der affine Teil eine zu einer Koordinatenebene parallele Ebene. Z. B.: die Ebene $x_{3}=1$ (s. o.). In diesem Fall ist die Beziehung zwischen homogenen und inhomogenen Koordinaten sehr einfach. Wählt man irgendeine andere Ebene $\varepsilon$ (nicht durch den Nullpunkt) mit der Gleichung $ax_{1}+bx_{2}+cx_{3}=d$ als Einbettungsebene, so bilden die in der Ursprungsebene $ax_{1}+bx_{2}+cx_{3}=0$ liegenden Ursprungsgeraden die Fernpunkte, denn sie haben keine Schnittpunkte mit der Einbettungsebene (affiner Teil). Jede andere Ursprungsgerade wird ihrem Schnittpunkt mit der Ebene $\varepsilon$ zugeordnet. Konkret: der Ursprungsgerade (projektiver Punkt) $P=(x_{1}:x_{2}:x_{3})$ wird der (affine) Punkt $A={\frac {(dx_{1},dx_{2},dx_{3})}{ax_{1}+bx_{2}+cx_{3}}}$ der Ebene $\varepsilon$ zugeordnet.

Für $a=b=c=d=1$ sind $x_{1},x_{2},x_{3}$ baryzentrische Koordinaten des Punktes $A$. Führt man in der Ebene $\varepsilon$ einen Nullpunkt $O_{\varepsilon }$ ein und setzt $\;X_{1}=(1,0,0),\;X_{2}=(0,1,0),\;X_{3}=(0,0,1)\;$ (diese Punkte liegen in $\varepsilon$), so ist

    ${\overrightarrow {O_{\varepsilon }A}}={\frac {x_{1}{\overrightarrow {O_{\varepsilon }X_{1}}}+x_{2}{\overrightarrow {O_{\varepsilon }X_{2}}}+x_{3}{\overrightarrow {O_{\varepsilon }X_{3}}}}{x_{1}+x_{2}+x_{3}}}\ .$

Der wesentliche Unterschied zwischen üblicher und baryzentrischer Einbettung ist: Bei der üblichen Einbettung sind zwei der drei Koordinatenachsen Fernpunkte, und bei der baryzentrischen Einbettung ist keine der drei Koordinatenachsen ein Fernpunkt. Das macht baryzentrische Koordinaten interessant für die Dreiecksgeometrie, denn jede Koordinatenachse repräsentiert einen Eckpunkt eines gegebenen (affinen) Dreiecks.

## Allgemeine Definition

Jeder Punkt in einem $n$-dimensionalen projektiven Raum kann durch $n+1$ Koordinaten beschrieben werden. Der projektive Raum $P^{n}(K)$ über dem Körper $K$ ist definiert als der Faktorraum

    $P^{n}(K)=\left(K^{n+1}\setminus \{(0,\ldots ,0)\}\right)/\sim$

des Koordinatenraums $K^{n+1}$ ohne den Nullvektor $(0,\ldots ,0)$ bezüglich der Äquivalenzrelation

    $(x_{0},\ldots ,x_{n})\sim (y_{0},\ldots ,y_{n})\Leftrightarrow (x_{0},\ldots ,x_{n})=(\lambda y_{0},\ldots ,\lambda y_{n})~{\text{für ein}}~\lambda \neq 0$.

Die homogenen Koordinaten eines Punkts $P\in P^{n}(K)$ des projektiven Raums sind dann $x_{0},\ldots ,x_{n}$, wobei $(x_{0},\ldots ,x_{n})$ ein beliebiges Element der entsprechenden Äquivalenzklasse ist. Homogene Koordinaten werden häufig durch

    $P=\left(x_{0}\colon x_{1}\colon \ldots \colon x_{n}\right)$ oder $P=\left[x_{0}\colon x_{1}\colon \ldots \colon x_{n}\right]$

notiert, wobei die Doppelpunkte andeuten sollen, dass die Darstellung nur bis auf Multiplikation mit einer Konstante eindeutig ist.

## Projektive Transformationen

### Im zweidimensionalen Raum

Im Folgenden werden Beispiele und schließlich alle affinen Abbildungen zunächst im inhomogenen Modell zu Projektivitäten fortgesetzt und dann im homogenen Modell durch Matrizen beschrieben. Es ist aber darauf zu achten, dass die jeweiligen Matrizen (im homogenen Modell) nicht eindeutig bestimmt sind. Denn nicht nur die Einheitsmatrix $\mathbf {E}$, sondern jedes vielfache $r\mathbf {E} ,\;r\in \mathbb {R} ,$ (Skalierungsmatrix im $\mathbb {R} ^{3}$) lässt jede Ursprungsgerade (projektiver Punkt) invariant. Man kann also die Matrix einer Projektivität mit einer beliebigen Skalierungsmatrix multiplizieren, ohne dass sich die zugehörige Projektivität ändert.

| a): $\quad {\begin{matrix}(x,y)&\to &(x+s,y+t)&\\&&{\text{(Translation)}}\\(m)&\to &(m)&\qquad \;\\(\infty )&\to &(\infty )\end{matrix}}$ | ${\begin{matrix}\qquad (x_{1}\colon x_{2}\colon x_{3})\ \to \ (x_{1}+sx_{3}\colon x_{2}+tx_{3}\colon x_{3})\\{\begin{pmatrix}1&0&s\\0&1&t\\0&0&1\end{pmatrix}}\\({\text{im}}\;\mathbb {R} ^{3}:{\text{Scherung an}}\;x_{1}x_{2}{\text{-Ebene}})\end{matrix}}$ |
| - | - |
| b): $\quad {\begin{matrix}(x,y)&\to &(x,dy)\\&&{\text{(Streckung an x-Achse)}}\\(m)&\to &(md)\\(\infty )&\to &(\infty )\end{matrix}}$ | ${\begin{matrix}\quad (x_{1}\colon x_{2}\colon x_{3})\ \to \ (x_{1}\colon dx_{2}\colon x_{3})\\{\begin{pmatrix}1&0&0\\0&d&0\\0&0&1\end{pmatrix}}\\\quad ({\text{Streckung an }}x_{1}x_{3}{\text{-Ebene in}}\;x_{2}{\text{-Richtung}}.)\end{matrix}}$ |
| c): $\quad {\begin{matrix}(x,y)&\to &(ax+by+s,cx+dy+t)\\&&{\text{(beliebige Affinität)}}\\(m)&\to &{\Bigl \{\begin{matrix}({\frac {c+dm}{a+bm}}),&{\text{falls}}&a+bm\neq 0\\(\infty ),&{\text{falls}}&a+bm=0\end{matrix}}\\(\infty )&\to &{\Bigl \{\begin{matrix}({\frac {d}{b}}),&{\text{falls}}&b\neq 0\\(\infty ),&{\text{falls}}&b=0\end{matrix}}\ .\end{matrix}}$ | $\qquad {\begin{matrix}\qquad (x_{1}\colon x_{2}\colon x_{3})\ \to \ (x'_{1}\colon x'_{2}\colon x'_{3})\\\qquad {\begin{pmatrix}x'_{1}\\x'_{2}\\x'_{3}\end{pmatrix}}={\begin{pmatrix}a&b&s\\c&d&t\\0&0&1\end{pmatrix}}{\begin{pmatrix}x_{1}\\x_{2}\\x_{3}\end{pmatrix}}\\\end{matrix}}$ |

Die Fortsetzungen der Affinitäten liefern nur solche Kollineationen, die die Ferngerade als Ganzes fest lassen. Die zugehörigen Matrizen im homogenen Modell zeichnen sich dadurch aus, dass sie in den ersten beiden Spalten an der 3. Stelle eine 0 haben. Es treten also noch nicht alle Matrizen auf. Aber es gilt:

* Jede reguläre 3×3-Matrix (Determinante nicht 0) induziert eine Kollineation der projektiven Ebene, die man Projektivität nennt. Die Menge der Projektivitäten bilden die Gruppe $\operatorname {PGL} (3,\mathbb {R} )$ (projektive lineare Gruppe).

Z. B.: Die Matrix ${\begin{pmatrix}0&0&1\\0&1&0\\1&0&0\end{pmatrix}}$ induziert eine Projektivität, die im inhomogenen Modell die Ferngerade $g_{\infty }$ mit der y-Achse vertauscht und den Punkt $(x,y)$ mit dem Punkt $({\tfrac {1}{x}},{\tfrac {y}{x}})$. (Die Punkte $(-1,0),(1,y)$ sind Fixpunkte.) Sie ist also keine Fortsetzung einer Affinität.

Will man eine beliebige Projektivität im inhomogenen Modell darstellen, so ist dies nur mit gebrochen linearen Ausdrücken möglich. Hier zeigt sich die Stärke des homogenen Modells. Es kommt mit linearen Ausdrücken aus.

### Im dreidimensionalen Raum

Homogene Koordinaten können analog zum ebenen Fall auch im 3-dimensionalen projektiven Raum eingeführt werden. Es gibt dann 4 homogene Koordinaten und die Abbildungsmatrizen der Projektivitäten sind 4×4-Matrizen. In der Computergrafik werden nicht nur Transformationen des Raums in homogenen Koordinaten durch 4×4-Matrizen dargestellt, sondern auch Projektionen des Raumes auf eine Ebene (siehe Grafikpipeline). Da bei solchen Projektionen die Dimension verkleinert wird (von 3 auf 2) haben die zugehörigen Matrizen die Determinante 0. Hier zwei Beispiele von Projektionsmatrizen:

Die erste Matrix beschreibt die Zentralprojektion vom Augpunkt $(0,0,d),d\neq 0,$ aus auf die x-y-Ebene. Die zweite Matrix bewirkt eine Orthogonalprojektion auf die x-y-Ebene.

| Zentralprojektion: | $\mathbf {P_{\mathrm {zp} }}$ | = | ${\begin{pmatrix}1&0&0&0\\0&1&0&0\\0&0&0&0\\0&0&-{\frac {1}{d}}&1\end{pmatrix}}\ ,$ | $\mathbf {P_{\mathrm {zp} }} \;(x,y,z,1)^{T}=(x,y,0,{\tfrac {d-z}{d}})^{T}$ |
| - | - | - | - | - |
| Orthogonale Projektion: | $\mathbf {P_{\mathrm {op} }}$ | = | ${\begin{pmatrix}1&0&0&0\\0&1&0&0\\0&0&0&0\\0&0&0&1\end{pmatrix}}\ ,$ | $\mathbf {P_{\mathrm {op} }} \;(x,y,z,1)^{T}=(x,y,0,1)^{T}$ |

## Anwendungen

Homogene Koordinaten werden innerhalb der Geometrie benutzt um

* Kegelschnitte zu untersuchen (siehe projektive Kegelschnitte),
* Kollineationen von projektiven Geraden, Ebenen und Räume zu untersuchen (projektive lineare Gruppe).

In der Computergrafik werden homogene Koordinaten verwendet um

* Transformationen von Objekten durchzuführen,
* rationale Bézier- und B-Spline-Kurven und -Flächen einzuführen und zu untersuchen.

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.

