Not logged in
Talk
Contributions
Log in
Home
Blog
Blog in Deutsch
English Blog
Personal
About Me
Curriculum Vitæ
Study Materials
Science
Works & Projects
Software
Teaching & Acad. Supervision
Downloads
Contact
Contact Details
Facebook
Twitter
YouTube Channel
Imprint
“The universe is full of magical things
patiently waiting for our wits to grow sharper.”
Eden Phillpotts (1862–1960), “
A Shadow Passes”
, Cecil Palmer & Hayward, London, 1918.
Courtesy David Seal/NASA/JPL-Caltech
Editing
Entfernungsberechnung mit Quaternionen und Geodäten
(section)
From M.Eng. René Schwarz, Bremen/Merseburg
Jump to:
navigation
,
search
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== Entfernungsberechnung mit Quaternionen == === Ansatz === Gegeben seien zwei Punkte $\mathbf{P}_1$ und $\mathbf{P}_2$ auf dem Erdellipsoiden. Der Ansatz des erarbeiteten Verfahrens besteht nun darin, den Ellipsoiden derart zu transformieren, dass $\mathbf{P}_1$ auf der Abszisse liegt und zudem beide Punkte in der $x$-$y$-Ebene ($z=0$) liegen. Anschließend wird die parametrisierte Schnittgleichung der $x$-$y$-Ebene mit dem transformierten Erdellipsoiden ermittelt. Anhand dieser Kurve lässt sich nun die Entfernung über die Bogenlänge ermitteln; als Ergebnis ergibt sich damit die Distanz zwischen beiden Punkten. Zur schrittweisen Transformation (Rotation) des Rotationsellipsoiden werden Quaternionen verwendet, da sie gegenüber Rotationsmatrizen einige Vorzüge aufweisen: * kleinerer (numerischer) Rechenaufwand bei verketteten Vektoroperationen * kompakte Struktur: Quaternionen können mit weniger Speicheraufwand abgelegt werden (4 Elemente, Rotationsmatrix: 9 Elemente) * Problem des sog. ''Gimbal Lock'', der Verlust eines Freiheitsgrades, wird verhindert Aufgrund dieser Vorzüge werden Quaternionen häufig in der Luft- und Raumfahrttechnik zur Lageregelung verwendet. === Kurzeinführung in die Quaternionen-Theorie === Quaternionen<ref>Die Menge der Quaternionen wird mit $\mathbb{H}$ bezeichnet.</ref> erweitern die komplexen Zahlen um zwei weitere Dimensionen; es handelt sich somit um hyperkomplexe Zahlen (4-dimensional). Die Struktur ähnelt dabei der komplexer Zahlen: Es existieren ein Realteil und drei Imaginärteile mit den imaginären Einheiten $\ii$, $\jj$ und $\kk$. Ein Quaternion $q$ kann ausführlich mit \begin{equation} q \in \mathbb{H}, \quad q = x_0 + \ii x_1 + \jj x_2 + \kk x_3 \end{equation} oder in Kurzschreibweise \begin{equation} q = \left[ x_0, \begin{pmatrix} x_1 \\ x_2 \\ x_3 \end{pmatrix} \right] \end{equation} geschrieben werden. Dabei ist $x_0$ der Realteil und der Vektor $(x_1,x_2,x_3)^\mathrm{T}$ der 3-dimensionale Imaginärteil. Eine Koordinate $(x,y,z)^\mathrm{T}$ im $\mathbb{R}^3$ kann als Quaternion mit Realteil $0$ und dem Koordinatentripel $(x,y,z)^\mathrm{T}$ als Imaginärteil ausgedrückt werden: \begin{gather} \mathbf{P} = \begin{pmatrix} x \\ y \\ z \end{pmatrix} \Rightarrow P = \left[ 0, \begin{pmatrix} x \\ y \\ z \end{pmatrix} \right] \\ \notag \text{mit } \mathbf{P} \in \mathbb{R}^3, P \in \mathbb{H} \end{gather} Rotationen sind mit einem Rotationsquaternion \begin{equation} q_R(\alpha, \mathbf{u}) = \left[ \cos \frac{\alpha}{2}, \sin \frac{\alpha}{2} \cdot \mathbf{u} \right] \end{equation} möglich. Dabei ist $\alpha$ der Rotationswinkel, $\mathbf{u}$ die auf $1$ normierte Rotationsachse ($\mathbf{u} \in \mathbb{R}^3, \| \mathbf{u} \| = 1$). Ein gedrehter Punkt $\mathbf{P}^\star$ entsteht nun durch Multiplikation<ref>Die Quaternionenmultiplikation ist nicht kommutativ. Wichtige Rechenregeln für das hier vorgestellte Verfahren:<br /> '''konjugiert hyperkomplexes Quaternion $\overline{q}$:''' \begin{equation*} q = [x_0, \mathbf{x}] \qquad \overline{q} = [x_0, -\mathbf{x}] \end{equation*} '''Quaternionenmultiplikation (nicht kommutativ):''' \begin{equation*} q_1 \cdot q_2 = [a, \mathbf{v}] \cdot [b, \mathbf{w}] = [ab - \langle \mathbf{v}, \mathbf{w} \rangle, a \mathbf{w} + b \mathbf{v} + \mathbf{v} \times \mathbf{w}] \end{equation*} </ref> des Rotationsquaternions $q_R$ mit dem Quaternion $P$ des Ursprungspunktes $\mathbf{P}$ und dem hyperkomplex konjugierten Rotationsquaternion $\overline{q_R}$: \begin{equation} P^\star = [0, \mathbf{P}^\star ] = q_R(\alpha, \mathbf{u}) \cdot [0, \mathbf{P} ] \cdot \overline{q_R}(\alpha, \mathbf{u}) \end{equation} === Verfahren zur Entfernungsberechnung === ==== Beschreibung der Verfahrensschritte ==== Im ersten Verfahrensschritt wird der Rotationsellipsoid (Gleichung für $\mathbf{P}_i (\vartheta_i,\varphi_i)$) derart rotiert, dass der Punkt $\mathbf{P}_1$ mit $(\vartheta_1, \varphi_1)$ auf der $x$-$z$-Ebene liegt. Dazu ist eine Drehung um $\alpha_1 = - \varphi_1$ um die Applikate notwendig. Es entsteht ein gedrehter Rotationsellipsoid<ref>Die hochgestellte Ziffer in Klammern links von $\mathbf{P}$ bzw. $P$ symbolisiert die jeweilige Stufe der Transformation (1: erste Transformation, 2: zweite Transformation, etc. pp.).</ref> \begin{gather} \Prefix^{(1)}{P} = [0, \Prefix^{(1)}{\mathbf{P}}] = q_R(\alpha_1, \mathbf{u}_1) \cdot [0, \mathbf{P}] \cdot \overline{q_R}(\alpha_1, \mathbf{u}_1) \\ \notag \text{mit } \alpha_1 = -\varphi_1, \ \mathbf{u}_1 = \begin{pmatrix} 0 \\ 0 \\ 1 \end{pmatrix}, \\ \notag \Prefix^{(1)}{\mathbf{P}} \xlongequal{\text{def.}} \begin{pmatrix} \Prefix^{(1)}{P}_x(\vartheta, \varphi, \ldots) \\ \Prefix^{(1)}{P}_y(\vartheta, \varphi, \ldots) \\ \Prefix^{(1)}{P}_z(\vartheta, \varphi, \ldots) \end{pmatrix}. \end{gather} Analog zum ersten Verfahrensschritt wird der Ellipsoid nun um die Ordinate derart gedreht, dass $\mathbf{P}_1$ auf die Abszisse ausgerichtet wird: \begin{gather} \Prefix^{(2)}{P} = q_R(\alpha_2, \mathbf{u}_2) \cdot \Prefix^{(1)}{P} \cdot \overline{q_R}(\alpha_2, \mathbf{u}_2) \\ \notag \text{mit } \alpha_2 = \arctan \left( \frac{\Prefix^{(1)}{P}_z(\vartheta = \vartheta_1, \varphi = \varphi_1, \ldots)}{\Prefix^{(1)}{P}_x(\vartheta = \vartheta_1, \varphi = \varphi_1, \ldots)} \right), \\ \notag \mathbf{u}_2 = \begin{pmatrix} 0 \\ 1 \\ 0 \end{pmatrix}, \ \Prefix^{(2)}{\mathbf{P}} \xlongequal{\text{def.}} \begin{pmatrix} \Prefix^{(2)}{P}_x(\vartheta, \varphi, \ldots) \\ \Prefix^{(2)}{P}_y(\vartheta, \varphi, \ldots) \\ \Prefix^{(2)}{P}_z(\vartheta, \varphi, \ldots) \end{pmatrix}. \end{gather} Im letzten Transformationsschritt wird $\Prefix^{(2)}{\mathbf{P}}$ so gedreht, dass der Punkt $\mathbf{P}_2$ auf der $x$-$y$-Ebene liegt: \begin{gather} \Prefix^{(3)}{P} = q_R(\alpha_3, \mathbf{u}_3) \cdot \Prefix^{(2)}{P} \cdot \overline{q_R}(\alpha_3, \mathbf{u}_3) \\ \notag \text{mit } \alpha_3 = - \arctan \left( \frac{\Prefix^{(2)}{P}_z(\vartheta = \vartheta_2, \varphi = \varphi_2, \ldots)}{\Prefix^{(2)}{P}_y(\vartheta = \vartheta_2, \varphi = \varphi_2, \ldots)} \right), \\ \notag \mathbf{u}_3 = \begin{pmatrix} 1 \\ 0 \\ 0 \end{pmatrix}, \ \Prefix^{(3)}{\mathbf{P}} \xlongequal{\text{def.}} \begin{pmatrix} \Prefix^{(3)}{P}_x(\vartheta, \varphi, \ldots) \\ \Prefix^{(3)}{P}_y(\vartheta, \varphi, \ldots) \\ \Prefix^{(3)}{P}_z(\vartheta, \varphi, \ldots) \end{pmatrix}. \end{gather} Mit $\Prefix^{(3)}{\mathbf{P}}$ steht nun eine Parametergleichung für die transformierte Erde zur Verfügung. Beide Punkte $\Prefix^{(3)}{\mathbf{P}}_1$ bzw. $\Prefix^{(3)}{\mathbf{P}}_2$ im transformierten Koordinatensystem liegen nun in der $x$-$y$-Ebene; die $z$-Komponente ist jeweils Null. ==== Herleitung des Lösungswegs ==== Die Bogenlänge zwischen zwei Punkten auf einer ebenen, rektifizierbaren Kurve mit dem Parameter $t \mapsto \left( x(t), y(t) \right)^\mathrm{T}$ kann allgemein mit \begin{equation} \alpha \leq t \leq \beta: \ \int \limits_{\alpha}^{\beta} \sqrt{\dot{x}(t)^2 + \dot{y}(t)^2} \, \dd t \end{equation} ermittelt werden. Hierbei hängt die vorhandene Parametergleichung $\Prefix^{(3)}{\mathbf{P}}$ jedoch von zwei Parametern $\vartheta$ und $\varphi$ ab. Eine Einschränkung auf einen Parameter ist daher notwendig, so dass eine zwei-dimensionale Parametergleichung \begin{equation} \Prefix^{(4)}{\mathbf{P}} = \begin{pmatrix} \Prefix^{(4)}{P}_x (\varphi) \\ \Prefix^{(4)}{P}_y (\varphi) \end{pmatrix} = \begin{pmatrix} \Prefix^{(3)}{P}_x \left(\vartheta(\varphi), \varphi \right) \\ \Prefix^{(3)}{P}_y \left(\vartheta(\varphi), \varphi \right) \end{pmatrix} \end{equation} entsteht. Da für das Verfahren lediglich der Schnitt durch $z=0$ relevant ist, erhält man durch Lösung von $\Prefix^{(3)}{P}_z(\ldots) \stackrel{!}= 0$ einen Zusammenhang beider Parameter: $\vartheta(\varphi) = \ldots$ Schließlich ergibt sich der Abstand beider Punkte durch Integration von \begin{equation} \int \limits_{\varphi_1}^{\varphi_2} \sqrt{\left( \frac{\dd}{\dd \varphi} \ \Prefix^{(4)}{P}_x(\varphi) \right)^2 + \left( \frac{\dd}{\dd \varphi} \ \Prefix^{(4)}{P}_y(\varphi) \right)^2} \, \dd \varphi. \end{equation}
Summary:
Please note that all contributions to M.Eng. René Schwarz, Bremen/Merseburg are considered to be released under the Creative Commons Namensnennung-Keine kommerzielle Nutzung-Weitergabe unter gleichen Bedingungen 3.0 Deutschland Lizenz (see
web:Copyrights
for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource.
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)