Koordinatentransformation

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

Bei einer Koordinatentransformation werden aus den Koordinaten eines Punktes in einem Koordinatensystem dessen Koordinaten in einem anderen Koordinatensystem berechnet. Formal gesehen ist dies die Umwandlung (Transformation) der ursprünglichen Koordinaten {\displaystyle (x_{1},x_{2},\dotsc ,x_{n})} in die neuen Koordinaten {\displaystyle (x'_{1},x'_{2},\dotsc ,x'_{n})}. Die häufigsten Anwendungen finden sich in der Geometrie, der Geodäsie, der Bildmessung 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 (als sich bewegenden Koordinatensystems) 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 beliebige Funktionen der alten Koordinaten 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, während Transformationen, bei denen sich umgekehrt die Position der Punkte gegenüber einem festen Koordinatensystems ändert, auch aktive oder Alibi-Transformationen 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 + \dots + a_{1n} x_n
x'_2 = a_{21} x_1 + a_{22} x_2 + \dots + a_{2n} x_n
\ldots
{\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 \vec{x} = (x_1, \dots, x_n) mit der Matrix A, die die Koeffizienten a_{ij} enthält, darstellen

{\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 und S' mit einer gemeinsamen z-Achse und gemeinsamem Ursprung. Das Koordinatensystem S' sei gegenüber S um den Winkel \varphi um die z-Achse im Uhrzeigersinn gedreht. Ein Punkt P, der im Koordinatensystem S die Koordinaten {\displaystyle {\vec {x}}=(x,y,z)} hat, besitzt dann im Koordinatensystem S' die Koordinaten {\displaystyle {\vec {x}}'=(x',y',z')} mit:

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

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

{\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} werden mit konstanten Faktoren \lambda _{i} multipliziert („skaliert“)

x_i'=\lambda_i\cdot x_i.

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

\lambda_i=\lambda.

Die Matrix A ist in diesem Fall das \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 + \dots + a_{1n} x_n + b_1
x'_2 = a_{21} x_1 + a_{22} x_2 + \dots + a_{2n} x_n + b_2
\ldots
{\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 \vec{x} = (x_1, \dots, x_n) mit der Matrix A, die die Koeffizienten a_{ij} enthält, und Addition eines Vektors \vec{b}, der die b_{i} enthält, darstellen

\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 und S'. Das System S' ist gegenüber S um den Vektor \vec{b} verschoben. Ein Punkt P, der im Koordinatensystem S die Koordinaten {\vec {x}} hat, besitzt dann im Koordinatensystem S' die Koordinaten {\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 vom Ursprung und dem (positiven) Winkel {} \varphi zur x-Achse bestimmt.

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

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

{\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 {\displaystyle arccos} ist mit Rundungsfehlern zu rechnen, welche bei Nutzung des {\displaystyle arctan} deutlich geringer ausfallen.

Weitere Anwendungen

In der Physik spielt die Invarianz gewisser Naturgesetze unter Koordinatentransformationen eine besondere Rolle. 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

Anmerkungen

  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.
Trenner
Basierend auf einem Artikel in: Wikipedia.de
Seitenende
Seite zurück
© biancahoegel.de
Datum der letzten Änderung: Jena, den: 05.08. 2021