0

Nehmen wir an, ich habe zwei identische Datensätze von der Oberfläche einer Kugel, z.B. wie im Bild unten, wo einer von ihnen durch beliebige Euler angles rotiert wird. Ich möchte die Euler-Winkel herausfinden, um die die Daten in Bezug zueinander gedreht wurden.Bestimmung der Drehung der Daten auf der Oberfläche der Kugel

  • Was ist der beste (effizienteste) Weg, dies zu tun?
  • Ist es sinnvoll, Mustervergleichsalgorithmen wie this one zu verwenden?
  • Kann diese Aufgabe ausgeführt werden, ohne die Kugeloberfläche auf eine 2D-Ebene zu projizieren? Solche Projektionen führen unvermeidlich zu starken Verzerrungen.

BTW, ich frage nicht nach Code oder eine funktionierende Lösung. Ich interessiere mich mehr für die allgemeinen Ideen oder mögliche Werkzeugkästen.

Data on the surface of a sphere

Antwort

2

Der einfachste Weg dies zu tun ist, Merkmal von einer Sphäre zu extrahieren, wie x1, x2, ..., xN und von dem anderen als y1, y2, ..., yN und zu schätzen die Rotationsmatrix unter Verwendung der Procrustes trick durch Verketten dieser 3D-Richtungsvektoren in die A- und B-Matrizen.

In der Tat, ich glaube, das ist mit nur zwei Feature-Punkte möglich, (so in dem obigen Beispiel, verwenden Sie die beiden lokalen Maxima in rot gekennzeichnet). Wenn die erste Lösung eine orthogonale Matrix mit negativer Determinante ergibt, versuchen Sie, die Label auf dem Paar so zu ändern, dass dieses Schema eine korrekte Rotationsmatrix zurückgibt.

Aus der Rotationsmatrix ist es einfach, die Euler-Winkel zu extrahieren (aber die Rodrigues Parametrisierung verwenden).

Alternativ gehen Sie das Kaninchenloch auf spherical harmonics and convolution.

+0

x1, x2, ..., xN und y1, y2, ..., yN sind die Positionsvektoren eines bestimmten Merkmals auf der Kugel? – Ethunxxx

+0

Ja, sie sind die Koordinaten für N verschiedene Merkmale auf der Kugel. Stellen Sie sich beispielsweise ein Koordinatensystem mit Ursprung in der Mitte eines Globus vor, wobei x1, x2, x3, x4 die Standorte von London, Kairo, Nairobi und Shanghai in diesem Koordinatensystem beschreiben. Nimm nun ein anderes Koordinatensystem, das denselben Ursprung hat, aber eine andere * Orientierung * hat, so dass y1, y2, y3 und y4 die Koordinaten dieser Orte unter dem zweiten Koordinatensystem sind. Der Procrustes-Trick zeigt Ihnen, wie Sie die Drehung zwischen den beiden Koordinatensystemen finden. – willem

Verwandte Themen