Zum Inhalt springen

Homogene Koordinaten

aus Wikipedia, der freien Enzyklopädie
Datei:Projective line qtl2.svg
Homogene Koordinaten einer reellen projektiven Geraden: jeder Geradenpunkt inklusive des Fernpunkts wird mit einer Ursprungsgerade der Ebene identifiziert und erhält als Koordinaten die Komponenten eines beliebigen Richtungsvektors dieser Geraden

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

Datei:Proj-ebene-homko-def-s.svg
Homogene Koordinaten einer reellen projektiven Ebene:
<math>P,Q</math> sind projektive Punkte (Ursprungsgeraden),
<math>g,h</math> sind projektive Geraden (Ursprungsebenen)
<math>x_1,x_2,x_3</math> sind die homogenen Koordinaten des Punktes <math>P=(x_1\colon x_2\colon x_3)</math>

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 <math>P</math> der projektiven Ebene kann damit durch einen beliebigen Punkt <math>(x_1,x_2,x_3) \ne (0,0,0)</math> der zugehörigen Ursprungsgerade beschrieben werden. Man schreibt dann

<math>P=(x_1\colon x_2\colon x_3)</math>

und nennt <math>x_1,x_2,x_3</math> homogene Koordinaten des Punktes <math>P</math>. Es gilt

<math>(x_1\colon x_2\colon x_3)= (rx_1\colon rx_2\colon rx_3)</math>

für jede Zahl <math>r\ne 0</math>. Eine Gerade der projektiven Ebene wird dann durch eine (homogene) Ebenengleichung <math>ax_1+bx_2+cx_3=0</math> 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

Datei:Proj-ebene-inhom-koord-s.svg
Inhomogene Koordinaten einer reellen projektiven Ebene

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 <math>y=mx+d, d \in \R,</math> mit der Steigung <math>m</math> üblicherweise den Fernpunkt <math>(m)</math> hinzu. Die Geraden <math>x=c</math> (Parallelen zur y-Achse) erhalten den Fernpunkt <math>(\infty)</math> (siehe Bild). Da auch je zwei Fernpunkte durch eine Gerade verbunden sein müssen, fasst man alle Fernpunkte zur Ferngerade <math>g_\infty</math> 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

Datei:Proj-ebene-hom-koord-s.svg
Beziehung zwischen inhomogenen und homogenen Koordinaten

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 <math>x_3=1</math> erfüllen: <math>(x,y) \rightarrow (x,y,1)</math>. Damit wird dem Punkt <math>(x,y)</math> des inhomogenen Modells der Punkt <math>(x\colon y\colon 1)</math> des homogenen Modells zugeordnet. Ein Punkt <math>(x,mx+d)</math> wird dabei auf denjenigen Punkt <math>(x_1\colon x_2\colon x_3)</math> abgebildet, dessen homogene Koordinaten die Gleichung <math>mx_1-x_2+dx_3=0, x_3\ne 0</math> erfüllen. Also kann man dem allen inhomogenen Geraden <math>y=mx+d, d\in \R</math> gemeinsamen Fernpunkt <math>(m)</math> die allen Ursprungsebenen <math>mx_1-x_2+dx_3=0, d\in \R</math> gemeinsame Ursprungsgerade <math>(1\colon m\colon 0)</math> 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:

<math>(x,y) \ \rightarrow \ (x\colon y\colon 1)\ , \quad (m)\ \rightarrow \ (1\colon m\colon 0)\ , \quad (\infty)\ \rightarrow \ (0\colon 1\colon 0) \ .</math>

Umkehrung:

<math>(x_1\colon x_2\colon x_3) \ \rightarrow \ \left(\frac{x_1}{x_3},\frac{x_2}{x_3}\right)</math>, falls <math>x_3\ne 0 \ ,</math>
<math>(x_1\colon x_2\colon 0)\ \ \rightarrow \ \left(\frac{x_2}{x_1}\right)</math>, falls <math>x_1\ne 0 \ ,</math>
<math>(0\colon x_2\colon 0)\quad \rightarrow \ (\infty) \ .</math>

Zuordnung der Geraden:

<math>y=mx+d \ \leftrightarrow \ mx_1-x_2+dx_3=0 \ ,</math>
<math>x=c \quad \qquad \leftrightarrow \ x_1-cx_3=0 \ ,</math>
<math>g_\infty \qquad \qquad \, \leftrightarrow \ x_3=0 \ .</math>

Die Einbettung wird in der Literatur nicht einheitlich dargestellt. So können die homogenen Koordinaten auch mit <math>(x_0,x_1,x_2)</math> bezeichnet sein oder die Ferngerade die Gleichung <math>x_1=0</math> erfüllen.

Andere Einbettungen, baryzentrische Koordinaten

Datei:Homog-koord-g-b.svg
Homogene Koordinaten einer Gerade: übliche (blau) und baryzentr. (rot) Einbettung in <math>\R^2</math>

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

Für <math>a=b=c=d=1</math> sind <math>x_1,x_2,x_3</math> baryzentrische Koordinaten des Punktes <math>A</math>. Führt man in der Ebene <math>\varepsilon</math> einen Nullpunkt <math>O_\varepsilon</math> ein und setzt <math>\; X_1=(1,0,0),\; X_2=(0,1,0),\; X_3=(0,0,1)\;</math> (diese Punkte liegen in <math>\varepsilon</math>), so ist

<math>\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}\ .</math>

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 <math>n</math>-dimensionalen projektiven Raum kann durch <math>n+1</math> Koordinaten beschrieben werden. Der projektive Raum <math>P^n(K)</math> über dem Körper <math>K</math> ist definiert als der Faktorraum

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

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

<math>( 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</math>.

Die homogenen Koordinaten eines Punkts <math>P \in P^n(K)</math> des projektiven Raums sind dann <math>x_0, \ldots , x_n</math>, wobei <math>(x_0, \ldots , x_n)</math> ein beliebiges Element der entsprechenden Äquivalenzklasse ist. Homogene Koordinaten werden häufig durch

<math>P = \left( x_0 \colon x_1 \colon \ldots \colon x_n \right)</math>   oder   <math>P = \left[ x_0 \colon x_1 \colon \ldots \colon x_n \right]</math>

notiert, wobei die Doppelpunkte andeuten sollen, dass die Darstellung nur bis auf Multiplikation mit einer Konstante eindeutig ist.<ref>{{#invoke:Vorlage:Literatur|f}}</ref>

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 <math>\mathbf E</math>, sondern jedes vielfache <math>r\mathbf E, \; r \in \R , </math> (Skalierungsmatrix im <math>\R^3</math>) 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): <math>\quad

\begin{matrix} (x,y) & \to & (x+s,y +t) & \\ &&\text{(Translation)} \\ (m) & \to & (m) & \qquad \; \\ (\infty) & \to & (\infty) \end{matrix} </math>

<math>

\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}\; \R^3: \text{Scherung an} \; x_1 x_2 \text{-Ebene}) \end{matrix} </math>

b): <math>\quad

\begin{matrix} (x,y) & \to & (x,dy) \\ & &\text{(Streckung an x-Achse)} \\ (m) & \to & (md) \\ (\infty) & \to & (\infty) \end{matrix}</math>

<math>

\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_1x_3\text{-Ebene in} \; x_2\text{-Richtung}.) \end{matrix} </math>

c): <math> \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} </math>

<math> \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} </math>

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 <math>\operatorname{PGL}(3,\R)</math> (projektive lineare Gruppe).

Z. B.: Die Matrix <math>\begin{pmatrix}0&0&1\\ 0&1&0\\ 1&0&0 \end{pmatrix} </math> induziert eine Projektivität, die im inhomogenen Modell die Ferngerade <math>g_\infty</math> mit der y-Achse vertauscht und den Punkt <math>(x,y)</math> mit dem Punkt <math>(\tfrac{1}{x},\tfrac{y}{x})</math>. (Die Punkte <math>(-1,0),(1,y)</math> 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 <math>(0,0,d), d\ne0, </math> aus auf die x-y-Ebene. Die zweite Matrix bewirkt eine Orthogonalprojektion auf die x-y-Ebene.

Zentralprojektion: <math>\mathbf{P_{\mathrm{zp}}}</math> = <math>

\begin{pmatrix}

1   & 0   & 0   & 0 \\
0   & 1   & 0   & 0 \\
0   & 0   & 0   & 0 \\
0   & 0   & -\frac{1}{d} & 1

\end{pmatrix} \ , </math>

<math> \mathbf{P_{\mathrm{zp}}}\; (x,y,z,1)^T = ( x, y, 0, \tfrac{d-z}{d})^T

</math>

Orthogonale Projektion: <math>\mathbf{P_{\mathrm{op}}}</math> = <math>

\begin{pmatrix}

1   & 0   & 0   & 0 \\
0   & 1   & 0   & 0 \\
0   & 0   & 0   & 0 \\
0   & 0   & 0   & 1

\end{pmatrix} \ , </math>

<math> \mathbf{P_{\mathrm{op}}} \; (x,y,z,1)^T = (x, y, 0, 1)^T

</math>

Anwendungen

Datei:RationalBezier2D.svg
Rationale Bézier-Kurve in homogenen Koordinaten (blau) und ihre Projektion in die Ebene (rot)

Homogene Koordinaten werden innerhalb der Geometrie benutzt, um

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.<ref>Hoschek, Lasser: Grundlagen der geometrischen Datenverarbeitung, Teubner 1989, ISBN 3-519-02962-6, S. 143.</ref><ref>G. Farin: Curves and Surfaces for CAGD, Academic Press, 1990, ISBN 0-12-249051-7, S. 231.</ref>

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.

Literatur

  • Albrecht Beutelspacher, Ute Rosenbaum: Projektive Geometrie. 2. Auflage. Vieweg, Wiesbaden 2004, ISBN 3-528-17241-X, S. 63.
  • G. Farin: Curves and Surfaces for CAGD, Academic Press, 1990, ISBN 0-12-249051-7, S. 217
  • C. E. Springer: Geometry and Analysis of Projective Spaces. San Francisco und London, 1964.
  • Frank Klawonn: Grundkurs Computergrafik mit Java. Die Grundlagen verstehen und einfach umsetzen mit Java 3D. 3. Auflage. Vieweg+Teubner, Wiesbaden 2010, ISBN 978-3-8348-1223-0.

Weblinks

[{{canonicalurl:Commons:Category:{{#if:Projective geometry|Projective geometry|Homogene Koordinaten}}|uselang=de}} Commons: {{#if:Homogene Koordinaten|Homogene Koordinaten|{{#if:Projective geometry|Projective geometry|{{#invoke:WLink|getArticleBase}}}}}}]{{#switch:1

|X|x= |0|-= |S|s= – Sammlung von Bildern |1|= – Sammlung von Bildern{{#if:

    | {{#switch: {{#invoke:TemplUtl|faculty|1}}/{{#invoke:TemplUtl|faculty|1}}
        |1/=  und Videos
        |1/1=, Videos und Audiodateien
        |/1=  und Audiodateien}}
    | , Videos und Audiodateien
  }}

|#default= – }}{{#if: Projective geometry

   | {{#ifeq: {{#invoke:Str|left|projective geometry|9}} 
       | category: 
| FEHLER: Ohne Category: angeben!}}}}

Vorlage:Wikidata-Registrierung

Einzelnachweise

<references />