Koordinatentransformation

17/11/2007 - 09:20 von Peter Mayr | Report spam
Ein herzliches Hallo in die Gruppe!

Ich möchte mein Problem an einem konkreten Beispiel schildern.

Gegeben ist ein Vektor
v1 = (2048.3580, -13.1888, 726.2860),
der folgende Orientierung (Rx, Ry, Rz - Bogenmaß) hat.
r1 = (0.000230, -1.427249, -1.569511)

Ein zweiter Vektor
v2 = (2023.649949, -1995.189051, 800.100962)
mit der Orientierung im Bogenmaß
r2 = (-1.569632, 0.004643, 0.141209).

Ich will jetzt im Grunde genommen einen der beiden Vektoren (nehmen wir
v1 mit Orientierung r1) als neuen Ursprung definieren und die Lage von
v2 mit r2 bezogen auf diesen neuen Ursprung berechnen.
Und genau dieses will mir nicht gelingen

Ich habe bis jetzt folgendes errechnet:
1. Die Rotationsmatrix A aus den Werten von r1:
0.000183784763922819 -0.99999944137613 0.00104089893296045
0.143054469474288 0.00105648433196805 0.989714253006536
-0.989714799821944 -3.2989155708847e-005 0.14305458372637

2. Die Rotationsmatrix B aus den Werten von r2:
0.990035827426402 -0.0044328673691328 -0.140745906153632
-0.140739132222858 0.00180624129820404 -0.990045066728545
0.00464295953851972 0.999988543524005 0.00116436569140841

Für die Lage von Vektor v2 bezogen auf v1 habe ich die Rotationsmatrix
aus der Inversen von A multipliziert mit B errechnet: AiB
0.0044683161301121 0.00232613742552992 -0.999987311537321
-0.00286264285092531 -0.99999316728883 -0.00233894240251376
-0.999985919614306 0.00287305766245289 -0.00446162669872711

Nach meinem Verstàndnis ist doch v=-v1+(AiB)v2. (1)
Ich komme jedoch einfach nicht auf das richtige Ergebnis, das wie folgt
lautet:
Translation:
X: 2740.8048
Y: -2000.8154
Z: 2851.7085
Rotation:
Rz: 147.354197711001
Ry: 89.6959497145511
Rx: -32.7794480437003

Die Matrizen und die daraus resultierenden Winkel müßten stimmen,
lediglich die Translation ist total daneben und ich weiß jetzt nicht, ob
das am Rechengang (1) liegt oder es ein Bug in meinem
Berechnungsprogramm ist.
Kann mir bitte jemand auf die Sprünge helfen - ich habe seit Tagen ein
Brett vor dem Kopf.

Gruß Peter
 

Lesen sie die antworten

#1 Roland Damm
17/11/2007 - 11:04 | Warnen spam
Moin,

Peter Mayr schrub:

Ich möchte mein Problem an einem konkreten Beispiel schildern.

Gegeben ist ein Vektor
v1 = (2048.3580, -13.1888, 726.2860),
der folgende Orientierung (Rx, Ry, Rz - Bogenmaß) hat.
r1 = (0.000230, -1.427249, -1.569511)



Du würdest es dir und allen anderen leichter machen, wenn du
einfache glatte Zahlen wàhlen würdest. Vielleicht fàllt dann
auch eher auf, was deine Rechnung tut oder nicht tut.

Was ist das für eine Orientierung? Ein Vektor ist ein Punkt in
einem 3D-Raum. v1 und v2 sind zwei Punkte. Wo sich v2 bezogen
auf v1 befindet, errechnet sich aus der Differenz v2-v1.

CU Rollo

Ähnliche fragen