Koordinatentransformation

Koordinatentransformation bei als ruhend angenommenem Objekt (links) bzw. als ruhend angenommenem Koordinatensystem (rechts)

Bei einer Koordinatentransformation werden aus den Koordinaten, die ein Punkt in einem Koordinatensystem hat, die Koordinaten berechnet, die er in einem anderen Koordinatensystem hat. Formal gesehen ist dies die Umwandlung (Transformation) der ursprünglichen Koordinaten ( x 1 , x 2 , , x n ) {\displaystyle (x_{1},x_{2},\dotsc ,x_{n})} in die neuen Koordinaten ( x 1 , x 2 , , x n ) {\displaystyle (x'_{1},x'_{2},\dotsc ,x'_{n})} . Die häufigsten Anwendungen finden sich in der Geometrie, der Geodäsie, der Photogrammetrie und bei technischen Aufgabenstellungen, aber auch in solch populären Bereichen wie der Computeranimation oder bei Computerspielen, in denen die dargestellte „Realität“ aus Sicht des Spielers, wenn er sich bewegt, fortwährend neu berechnet werden muss.

Typische Koordinatentransformationen entstehen durch Drehung (Rotation), Skalierung (Veränderung des Maßstabs), Scherung und Verschiebung (Translation) des Koordinatensystems, die auch kombiniert werden können.

Allgemein können die neuen Koordinaten x i {\displaystyle x'_{i}} beliebige Funktionen der alten Koordinaten x i {\displaystyle x_{i}} sein. In der Regel verwendet man spezielle Transformationen, bei denen diese Funktionen gewissen Einschränkungen – z. B. Differenzierbarkeit, Linearität oder Formtreue – unterliegen. Koordinatentransformationen können angewendet werden, wenn sich ein Problem in einem anderen Koordinatensystem leichter lösen lässt, z. B. bei der Transformation von kartesischen Koordinaten in Kugelkoordinaten oder umgekehrt.

Ein Spezialfall der Koordinatentransformation ist der Basiswechsel in einem Vektorraum.[1]

Die hier betrachteten Transformationen, bei denen die Koordinatensysteme geändert werden und sich dadurch nur die Koordinaten der Punkte ändern, während die Punkte selbst unverändert bleiben, heißen auch passive oder Alias-Transformationen,[2] während Transformationen, bei denen sich umgekehrt die Position der Punkte gegenüber einem festen Koordinatensystems ändert, auch aktive oder Alibi-Transformationen[3] genannt werden (siehe Abb.).

Lineare Transformationen

Siehe auch: Lineare Abbildung

Bei linearen Transformationen sind die neuen Koordinaten lineare Funktionen der ursprünglichen, also

x 1 = a 11 x 1 + a 12 x 2 + + a 1 n x n {\displaystyle x'_{1}=a_{11}x_{1}+a_{12}x_{2}+\dots +a_{1n}x_{n}}
x 2 = a 21 x 1 + a 22 x 2 + + a 2 n x n {\displaystyle x'_{2}=a_{21}x_{1}+a_{22}x_{2}+\dots +a_{2n}x_{n}}
{\displaystyle \ldots }
x n = a n 1 x 1 + a n 2 x 2 + + a n n x n {\displaystyle x'_{n}=a_{n1}x_{1}+a_{n2}x_{2}+\dots +a_{nn}x_{n}} .

Dies kann man kompakt als Matrixmultiplikation des alten Koordinatenvektors x = ( x 1 , , x n ) {\displaystyle {\vec {x}}=(x_{1},\dots ,x_{n})} mit der Matrix A {\displaystyle A} , die die Koeffizienten a i j {\displaystyle a_{ij}} enthält, darstellen

x = A x {\displaystyle {\vec {x}}'=A{\vec {x}}} .

Der Ursprung des neuen Koordinatensystems stimmt dabei mit dem des ursprünglichen Koordinatensystems überein.

Drehung (Rotation)

Drehung eines Koordinatensystems gegenüber einem als ruhend betrachteten Vektor sowie eines Vektors gegenüber einem als ruhend betrachteten Koordinatensystem
Drehung des Koordinatensystems gegen den Uhrzeigersinn

Ein wichtiger Typ linearer Koordinatentransformationen sind solche, bei denen das neue Koordinatensystem gegenüber dem alten um den Koordinatenursprung gedreht ist (in nebenstehender Grafik die sogen. „Alias-Transformation“). In zwei Dimensionen gibt es dabei als Parameter lediglich den Rotationswinkel, im Dreidimensionalen dagegen muss weiters eine sich durch die Rotation nicht ändernde Drehachse definiert werden. Beschrieben wird die Drehung dabei in beiden Fällen durch eine Drehmatrix.

Beispiel

Betrachtet werden zwei dreidimensionale kartesische Koordinatensysteme S {\displaystyle S} und S {\displaystyle S'} mit einer gemeinsamen z-Achse und gemeinsamem Ursprung. Das Koordinatensystem S {\displaystyle S'} sei gegenüber S {\displaystyle S} um den Winkel φ {\displaystyle \varphi } um die z-Achse im Uhrzeigersinn gedreht. Ein Punkt P, der im Koordinatensystem S die Koordinaten x = ( x , y , z ) {\displaystyle {\vec {x}}=(x,y,z)} hat, besitzt dann im Koordinatensystem S' die Koordinaten x = ( x , y , z ) {\displaystyle {\vec {x}}'=(x',y',z')} mit:

x = + x cos φ y sin φ , {\displaystyle x'=+x\cos \varphi -y\sin \varphi ,}
y = + x sin φ + y cos φ , {\displaystyle y'=+x\sin \varphi +y\cos \varphi ,}
z = z . {\displaystyle z'=z.}

In Matrixschreibweise ergibt sich mit der inversen Drehmatrix für diese Rotation des Koordinatensystems:

x = ( cos φ sin φ 0 sin φ cos φ 0 0 0 1 ) x . {\displaystyle {\vec {x}}'={\begin{pmatrix}\cos \varphi &-\sin \varphi &0\\\sin \varphi &\cos \varphi &0\\0&0&1\end{pmatrix}}{\vec {x}}.}

Skalierung

Skalierung

Bei der Skalierung werden die „Einheiten“ der Achsen geändert. Das heißt, die Zahlenwerte der Koordinaten x i {\displaystyle x_{i}} werden mit konstanten Faktoren λ i {\displaystyle \lambda _{i}} multipliziert („skaliert“)

x i = λ i x i . {\displaystyle x_{i}'=\lambda _{i}\cdot x_{i}.}

Die Parameter dieser Transformation sind die N {\displaystyle N} Zahlen λ i {\displaystyle \lambda _{i}} . Ein Spezialfall ist die „Maßstabsänderung“, bei der alle Faktoren den gleichen Wert haben

λ i = λ . {\displaystyle \lambda _{i}=\lambda .}

Die Matrix A {\displaystyle A} ist in diesem Fall das λ {\displaystyle \lambda } -fache der Einheitsmatrix.

Scherung

Scherung

Bei der Scherung verändert sich der Winkel zwischen den Koordinatenachsen. In zwei Dimensionen gibt es daher einen Parameter, im dreidimensionalen Raum drei Parameter.

Affine Transformationen

Siehe auch: Affine Abbildung

Affine Transformationen bestehen aus einer linearen Transformation und einer Translation.

Sind beide beteiligten Koordinatensysteme linear, (d. h. im Prinzip durch einen Koordinatenursprung und gleichmäßig unterteilte Koordinatenachsen gegeben), so liegt eine affine Transformation vor. Hierbei sind die neuen Koordinaten affine Funktionen der ursprünglichen, also

x 1 = a 11 x 1 + a 12 x 2 + + a 1 n x n + b 1 {\displaystyle x'_{1}=a_{11}x_{1}+a_{12}x_{2}+\dots +a_{1n}x_{n}+b_{1}}
x 2 = a 21 x 1 + a 22 x 2 + + a 2 n x n + b 2 {\displaystyle x'_{2}=a_{21}x_{1}+a_{22}x_{2}+\dots +a_{2n}x_{n}+b_{2}}
{\displaystyle \ldots }
x n = a n 1 x 1 + a n 2 x 2 + + a n n x n + b n {\displaystyle x'_{n}=a_{n1}x_{1}+a_{n2}x_{2}+\dots +a_{nn}x_{n}+b_{n}}

Dies kann man kompakt als Matrixmultiplikation des alten Koordinatenvektors x = ( x 1 , , x n ) {\displaystyle {\vec {x}}=(x_{1},\dots ,x_{n})} mit der Matrix A {\displaystyle A} , die die Koeffizienten a i j {\displaystyle a_{ij}} enthält, und Addition eines Vektors b {\displaystyle {\vec {b}}} , der die b i {\displaystyle b_{i}} enthält, darstellen

x = A x + b {\displaystyle {\vec {x}}\,'=A{\vec {x}}+{\vec {b}}}

Die Translation ist ein Spezialfall einer affinen Transformation, bei der A die Einheitsmatrix ist.

Verschiebung (Translation)

Verschiebung

Betrachtet werden zwei Koordinatensysteme S {\displaystyle S} und S {\displaystyle S'} . Das System S {\displaystyle S'} ist gegenüber S {\displaystyle S} um den Vektor b {\displaystyle {\vec {b}}} verschoben. Ein Punkt P {\displaystyle P} , der im Koordinatensystem S {\displaystyle S} die Koordinaten x {\displaystyle {\vec {x}}} hat, besitzt dann im Koordinatensystem  S {\displaystyle S'} die Koordinaten x = x b {\displaystyle {\vec {x}}'={\vec {x}}-{\vec {b}}} .

Beispiele

Kartesische Koordinaten und Polarkoordinaten

Hauptartikel: Polarkoordinaten

Ein Punkt in der Ebene wird im kartesischen Koordinatensystem durch seine Koordinaten (x,y) und im Polarkoordinatensystem durch den Abstand r {\displaystyle r} vom Ursprung und dem (positiven) Winkel φ {\displaystyle {}\varphi } zur x-Achse bestimmt.

Dabei gilt für die Umrechnung von Polarkoordinaten in kartesische Koordinaten:

  • x = r cos φ {\displaystyle x=r\cdot \cos \varphi }
  • y = r sin φ {\displaystyle y=r\cdot \sin \varphi }

Für die Umrechnung von kartesischen Koordinaten in Polarkoordinaten gilt:

  • r = x 2 + y 2 {\displaystyle r={\sqrt {x^{2}+y^{2}}}}
  • φ = { arctan y x f u ¨ r   x > 0 arctan y x + π f u ¨ r   x < 0 , y 0 arctan y x π f u ¨ r   x < 0 , y < 0 π / 2 f u ¨ r   x = 0 , y > 0 π / 2 f u ¨ r   x = 0 , y < 0 {\displaystyle \varphi ={\begin{cases}\arctan {\frac {y}{x}}&\mathrm {f{\ddot {u}}r} \ x>0\\\arctan {\frac {y}{x}}+\pi &\mathrm {f{\ddot {u}}r} \ x<0,\,y\geq 0\\\arctan {\frac {y}{x}}-\pi &\mathrm {f{\ddot {u}}r} \ x<0,\,y<0\\\pi /2&\mathrm {f{\ddot {u}}r} \ x=0,\,y>0\\-\pi /2&\mathrm {f{\ddot {u}}r} \ x=0,\,y<0\end{cases}}}
= { arccos x r f u ¨ r   y 0 arccos ( x r ) f u ¨ r   y < 0 {\displaystyle {}={\begin{cases}\arccos {\frac {x}{r}}&\mathrm {f{\ddot {u}}r} \ y\geq 0\\-\arccos \left({\frac {x}{r}}\right)&\mathrm {f{\ddot {u}}r} \ y<0\end{cases}}}

Bei der Implementierung der Variante mit a r c c o s {\displaystyle arccos} ist mit Rundungsfehlern zu rechnen, welche bei Nutzung des a r c t a n {\displaystyle arctan} deutlich geringer ausfallen.

Weitere Anwendungen

In der Physik spielt die Invarianz gewisser Naturgesetze unter Koordinatentransformationen eine besondere Rolle, siehe hierzu Symmetrietransformation. Von besonders grundlegender Bedeutung sind die Galilei-Transformation, Lorentz-Transformation und die Eichtransformation. Häufig gebraucht werden auch Transformationen von Operatoren und Vektoren:

In den Geowissenschaften – insbesondere der Geodäsie und Kartografie gibt es noch weitere Transformationen, die formal Koordinatentransformationen darstellen.

Im Bereich Robotik gilt die Denavit-Hartenberg-Transformation als das Standardverfahren.

Siehe auch

Literatur

  • I. N. Bronstein, K. A. Semendjajew, G. Musiol: Taschenbuch der Mathematik. 6. vollständig überarbeitete und ergänzte Auflage. Verlag Harry Deutsch, Frankfurt am Main 2005, ISBN 3-8171-2006-0.
  • Siegfried Heitz: Koordinaten auf geodätischen Bezugsflächen. Dümmler, Bonn 1985, ISBN 3-427-78981-0.
  • Siegfried Heitz: Mechanik fester Körper. Band 1: Grundlagen. Dynamik starrer Körper. Dümmler, Bonn 1980, ISBN 3-427-78921-7.
  • WTRANS Software zur Berechnung der Parameter für 2D/3D-Koordinatentransformationen für kartesische und geografische Koordinaten (Molodenski-Ansatz), Projektionen, Geodätische Hauptaufgaben
  • MapRef.org, Fachliteratur und Links zu 2D- und 3D-Koordinatentransformationen
  • Online-Berechnung von ebenen und räumlichen Koordinatentransformationen mit gegebenen Parametern
  • Online-Berechnung von ebenen und räumlichen Koordinatentransformationen aus identischen Punkten (Kontrollpunkten)

Einzelnachweise

  1. Beispielsweise kann die Umwandlung zwischen kartesischen Koordinaten und Kugelkoordinaten nicht durch eine Basiswechselmatrix dargestellt werden. Deshalb ist es zwar eine Koordinatentransformation, aber kein Basiswechsel.
  2. Eric W. Weisstein: Alias Transformation. MathWorld – A Wolfram Web Resource.
  3. Eric W. Weisstein: Alibi Transformation. MathWorld – A Wolfram Web Resource.