Mathematischer Exkurs II

Die Helmert-Transformation

Gegeben seien eine Menge von Punkten in zwei verschiedenen orthogonalen Koordinatensystemen in der Ebene, wobei die Bestimmung der Koordinatenwerte der Punkte in den beiden Systemen auf verschiedenen Grundlagen erfolgte und somit eine lineare Transformation von einem Koordinatensystem in das andere, bei der jeder Punkt im einen System exakt auf die Position im anderen System abgebildet wird, in der Regel nicht existiert.

Das Ziel der Helmert-Transformation ist es nun, eine Transformation T  bestehend aus einer Translation (Verschiebung) im Urbildraum, der Anwendung einer Drehung um einen konstanten Winkel gepaart mit einer Maßstabsänderung und einer weiteren Verschiebung im Bildraum zu bestimmen, so dass die Summe der Quadrate der Abweichungen von den transformierten Sollkoordinaten zu den vorliegenden Istkoordinaten ein (lokales) Minimum annimmt.

Die nachfolgende Darstellung erfolgt mithilfe komplexer Zahlen, was durch die Kombination "Drehung und Maßstabsänderung" - Drehstreckung - (vgl. Mathematischer Exkurs I: Die Gauß'sche Zahlenebene) durchaus naheliegt1).

Die Aufgabenstellung der Helmert-Transformation kann dann wie folgt formuliert werden:
Gegeben seien komplexe Zahlen zi (i=1, ..., n), die Punkte im einen Koordinatensystem (Urbildraum), und Zi (i=1, ..., n), die Punkte im anderen Koordinatensystem (Bildraum). Da sich die Drehstreckung durch eine komplexe Zahl beschreiben lässt, werden nun drei komplexe Zahlen z0, t und Z0 gesucht, so dass die Differenzen zwischen den transformierten Urbildpunkten und den zugehörigen Punkten im Bildraum (Abweichungen) einzeln quadriert und aufsummiert ein Minimum ergeben (Summe der kleinsten Quadrate). z0 bezeichnet die Verschiebung im Urbildraum, Z0, die im Bildraum und die Multiplikation mit t entspricht der Anwendung der Drehstreckung. Daraus leiten sich folgende Gleichungen ab:

t · (zi - z0) + Z0 = Zi + vi

für i=1, ..., n, wobei mit vi die Abweichung in der i-ten Gleichung bezeichnet wird. Letztlich ist noch die Bedingung

[vv*] = min

zu erfüllen2), wobei mit v* die konjugiert komplexe Zahl von v bezeichnet wird.

Um der letzten Forderung zu genügen, müssen notwendig die Ableitungen d[vv*]/dz0 und d[vv*]/dZ0 verschwinden, d. h. es muss

d[vv*]/dz0 = -2 · t · [v] = 0

und

d[vv*]/dZ0 = 2 · [v] = 0

gelten. Hinreichend hierfür ist die Wahl von

  z0 = [z]/n  

und von

  Z0 = [Z]/n  

was bedeutet, dass z0 und Z0 als Schwerpunkte der Punktwolke im jeweiligen Koordinatensystem gewählt werden können. Fordert man, dass d[vv*]/dz0 und d[vv*]/dZ0 für mindestens zwei verschiedene Werte für t verschwinden, so müssen die beiden Bedingungen auch notwendig erfüllt sein.

Das Vorgehen bei der Helmert-Transformation ist nun derart, dass z0 und Z0 wie gerade angegeben gewählt werden. So bleibt nur noch, den Faktor t aus den n Gleichungen

t · (zi - z0) + Z0 = Zi + vi

unter der Bedingung

[(z - z0)v*] = 0

zu bestimmen, wobei zu beachten ist, dass die Größen vi ebenfalls nicht bekannt sind. Die Bedingung leitet sich aus folgender Überlegung ab: t ist derart zu wählen, dass der Abstand des Punkts (Vektors) (Zi - Z0)i=1(1)n zum Punkt (Vektor) t · (zi - z0)i=1(1)n möglichst klein wird, d. h. es wird der Punkt (Vektor) in dem von (zi - z0)i=1(1)n aufgespannten Unterraum gesucht, der zum Punkt (Vektor) (Zi - Z0)i=1(1)n den kleinsten Abstand besitzt. (Man beachte, dass | (vi)i=1(1)n |2 = [vv*] ist.) Das ist genau dann der Fall, wenn die Vektoren (zi - z0)i=1(1)n und (vi)i=1(1)n senkrecht zueinander stehen, d. h. das Skalarprodukt [(z - z0)v*] verschwindet (d. h. [(z - z0)v*] = 0 ist).

Dies ist allerdings die klassische Aufgabe der Ausgleichung nach vermittelnden Beobachtungen, welche im vorliegenden Fall auf nur eine Normalgleichung

[(z - z0)(z - z0)*] · t = [(z - z0)(Z - Z0)*]

führt. Diese Gleichung ist lösbar, sobald der Ansatz für mindestens zwei verschiedene Punkte zi (i=1,2) gemacht wird, was aber implizit in der Aufgabenstellung vorausgesetzt wird. Insbesondere ist also:

  t = [(z - z0)(Z - Z0)*] / [(z - z0)(z - z0)*]  

 


1) Ausgangspunkt für diese Überlegungen war die gestellte Übungsaufgabe (im Jahr 1974), ein Programm für die Helmert-Transformation in der Programmiersprache FORTRAN zu erstellen. Komplexe Zahlen sind Teil der Sprachdefinition von FORTRAN, und so wurde vom Autor ein Programm mit deutlich weniger Anweisungen entwickelt, als dies mit der ausschließlichen Verwendung reeller Zahlen möglich ist. (Zurück zum Bezug)

2) Wegen der einfacheren Darstellung mit Mitteln von HTML wird hier - soweit dem nichts entgegensteht - das Gauß'sche Summensymbol verwendet werden, was im Vermessungswesen gang und gäbe ist. Die Summe über i von 1 bis n der Größen vi wird so einfach in der Form [v] geschrieben, analog die Summe der Quadrate der reellen(!) Größen vi in der Form [vv], die sich gegenüber [v2] durchgesetzt hat. Hieraus leitet sich auch der Begriff Methode der kleinsten Quadrate ab. Für komplexe Zahlen ist [vv*] einzusetzen. (Zurück zum Bezug)


Zurück zur Hauptseite Erstellt von Wolfgang Volk im Juni 2003
Zuletzt korrigiert am 4. September 2012

counter