Wikipedia · einfach zusammengefasst · Stand
Koordinatentransformation
Typische Koordinatentransformationen entstehen durch Drehung (Rotation), Skalierung (Veränderung des Maßstabs), Scherung und Verschiebung (Translation) des …
Inhalt5 Abschnitte
Grundidee und Bedeutung
Eine Koordinatentransformation berechnet aus den Koordinaten eines Punktes in einem Koordinatensystem die Koordinaten desselben Punktes in einem anderen Koordinatensystem. Formal werden die ursprünglichen Koordinaten (x₁, x₂, …, xₙ) in neue Koordinaten (x′₁, x′₂, …, x′ₙ) umgewandelt. Die Punkte selbst bleiben dabei unverändert, nur ihre Beschreibung durch Koordinaten ändert sich.
Koordinatentransformationen werden besonders in der Geometrie, Geodäsie, Photogrammetrie und bei technischen Aufgaben verwendet. Auch Computeranimationen und Computerspiele nutzen sie, um eine dargestellte Realität aus der Sicht eines sich bewegenden Spielers fortlaufend neu zu berechnen. Häufig wird ein anderes Koordinatensystem gewählt, weil sich ein Problem darin leichter lösen lässt, etwa bei der Umrechnung zwischen kartesischen und Kugelkoordinaten.
Typische Transformationen entstehen durch Drehung (Rotation), Skalierung, Scherung oder Verschiebung (Translation). Diese Vorgänge können auch miteinander kombiniert werden. Allgemein können die neuen Koordinaten beliebige Funktionen der alten Koordinaten sein. In der Praxis verwendet man oft spezielle Transformationen, deren Funktionen beispielsweise differenzierbar oder linear sind oder die Form von Figuren erhalten.
Bei einer passiven oder Alias-Transformation wird das Koordinatensystem geändert, während die Punkte unverändert bleiben. Bei einer aktiven oder Alibi-Transformation ändern sich dagegen die Positionen der Punkte gegenüber einem festen Koordinatensystem. Ein Spezialfall der Koordinatentransformation ist der Basiswechsel in einem Vektorraum.
Lineare Transformationen und ihre Typen
Bei einer linearen Transformation sind die neuen Koordinaten lineare Funktionen der ursprünglichen Koordinaten. Für n Dimensionen gilt beispielsweise:
x′₁ = a₁₁x₁ + a₁₂x₂ + … + a₁ₙxₙ
x′₂ = a₂₁x₁ + a₂₂x₂ + … + a₂ₙxₙ
…
x′ₙ = aₙ₁x₁ + aₙ₂x₂ + … + aₙₙxₙ.
Kompakt schreibt man dies als Matrixmultiplikation:
x⃗′ = A x⃗.
Dabei ist x⃗ = (x₁, …, xₙ) der alte Koordinatenvektor. Die Matrix A enthält die Koeffizienten aᵢⱼ. Bei einer linearen Transformation stimmen die Ursprünge des alten und des neuen Koordinatensystems überein.
Bei einer Drehung wird das neue Koordinatensystem gegenüber dem alten um den Koordinatenursprung gedreht. In zwei Dimensionen genügt der Rotationswinkel als Parameter. In drei Dimensionen muss zusätzlich eine Drehachse festgelegt werden, die durch die Rotation unverändert bleibt. Die Drehung wird durch eine Drehmatrix beschrieben.
Bei der Skalierung werden die Einheiten der Achsen geändert. Die Zahlenwerte der Koordinaten werden mit konstanten Faktoren λᵢ multipliziert:
x′ᵢ = λᵢ · xᵢ.
Die Transformation besitzt N Zahlen λᵢ als Parameter. Bei einer Maßstabsänderung haben alle Faktoren denselben Wert: λᵢ = λ. Die Matrix A ist dann das λ-Fache der Einheitsmatrix.
Bei einer Scherung verändert sich der Winkel zwischen den Koordinatenachsen. In zwei Dimensionen gibt es dafür einen Parameter, im dreidimensionalen Raum drei Parameter.
Affine Transformationen und Verschiebung
Eine affine Transformation besteht aus einer linearen Transformation und einer Translation. Sind beide Koordinatensysteme linear, also grundsätzlich durch einen Koordinatenursprung und gleichmäßig unterteilte Koordinatenachsen gegeben, liegt eine affine Transformation vor.
Die neuen Koordinaten sind affine Funktionen der alten Koordinaten. Sie enthalten neben den linearen Termen einen konstanten Anteil:
x′₁ = a₁₁x₁ + a₁₂x₂ + … + a₁ₙxₙ + b₁
x′₂ = a₂₁x₁ + a₂₂x₂ + … + a₂ₙxₙ + b₂
…
x′ₙ = aₙ₁x₁ + aₙ₂x₂ + … + aₙₙxₙ + bₙ.
In Matrixschreibweise lautet die affine Transformation:
x⃗′ = A x⃗ + b⃗.
Die Matrix A enthält die Koeffizienten aᵢⱼ, der Vektor b⃗ die Konstanten bᵢ. Eine reine Translation ist der Spezialfall, bei dem A die Einheitsmatrix ist.
Sind zwei Koordinatensysteme S und S′ betrachtet und ist S′ gegenüber S um den Vektor b⃗ verschoben, so gilt für einen Punkt mit den Koordinaten x⃗ im System S:
x⃗′ = x⃗ − b⃗.
Die Koordinaten des Punktes im verschobenen System S′ entstehen also durch Subtraktion des Verschiebungsvektors.
Beispiel einer Drehung im Raum
Betrachtet werden zwei dreidimensionale kartesische Koordinatensysteme S und S′ mit gemeinsamem Ursprung und gemeinsamer z-Achse. Das System S′ sei gegenüber S um den Winkel φ um die z-Achse im Uhrzeigersinn gedreht.
Hat ein Punkt P im Koordinatensystem S die Koordinaten x⃗ = (x, y, z), so besitzt er im System S′ die Koordinaten x⃗′ = (x′, y′, z′) mit:
x′ = +x cos φ − y sin φ
y′ = +x sin φ + y cos φ
z′ = z.
In Matrixschreibweise gilt für diese Rotation des Koordinatensystems mit der inversen Drehmatrix:
x⃗′ =
[cos φ, −sin φ, 0] [sin φ, cos φ, 0] [0, 0, 1] x⃗.
Die z-Koordinate bleibt unverändert, weil die Drehung um die z-Achse erfolgt. Die x- und y-Koordinaten werden dagegen abhängig vom Winkel φ miteinander verbunden.
Umrechnung und weitere Anwendungen
Ein Punkt der Ebene kann entweder durch kartesische Koordinaten (x, y) oder durch Polarkoordinaten beschrieben werden. Bei Polarkoordinaten gibt r den Abstand vom Ursprung und φ den positiven Winkel zur x-Achse an.
Die Umrechnung von Polarkoordinaten in kartesische Koordinaten lautet:
x = r · cos φ
y = r · sin φ.
Umgekehrt gilt:
r = √(x² + y²).
Für den Winkel muss die Lage des Punktes berücksichtigt werden:
φ = arctan(y/x) für x > 0;
φ = arctan(y/x) + π für x < 0 und y ≥ 0;
φ = arctan(y/x) − π für x < 0 und y < 0;
φ = π/2 für x = 0 und y > 0;
φ = −π/2 für x = 0 und y < 0.
In der Physik ist wichtig, dass bestimmte Naturgesetze unter Koordinatentransformationen invariant bleiben. In diesem Zusammenhang werden unter anderem Galilei-Transformation, Lorentz-Transformation und Eichtransformation genannt. Ebenfalls häufig sind Transformationen von Differential-Operatoren und Vektorfeldern.
In Geowissenschaften, besonders in Geodäsie und Kartografie, werden geografische Breite und Länge in Gauß-Krüger-Koordinaten umgerechnet. Weitere Anwendungen sind Umrechnungen zwischen astronomischen Koordinaten sowie die 7-Parameter-Transformation. Sie umfasst Verschiebung, Drehung und Maßstab zwischen zwei Koordinatensystemen auf demselben oder auf anderen Referenzellipsoiden und wird auch Helmert-Transformation oder „Dreh-Streckung“ genannt. In der Robotik gilt die Denavit-Hartenberg-Transformation als Standardverfahren.