Verfasst am: 05.10.2015, 18:09
Titel: Vektorrotation mit Quaternionen
Hallo zusammen,
ich befasse mich gerade mit dem Thema Quaternionen, die als Rotation für einen Vektor [x y z] dienen soll. Die Rotation mittels q eines Vektors p funktioniert über
Beispielwerte sind aus dieser Quelle (S. 7) entnommen.
sooo ich hab mir das mal angeguckt.
also die rechnen nicht mit [cos30 0 0 -1] sondern mit [cos30 0 0 -0.5] der ist dann auch normiert. die 001 ist wahrscheinlich der vektor n und die haben das sin30 vergessen.... in dem paper fehlen öfter mal dinge. sin30 ist dann 0.5 darum ist das inverse weg. wenn man dann noch in deinem 2. teil die einträge richtig vertauscht und nicht falschrum kommt das ergebniss auch raus
Ich verstehe jedoch nicht, wieso sich jetzt bei q_inv(4) das Vorzeichen ändert. Kannst du deine Erklärung nochmal anders formulieren?
Weiterhin:
Winkow hat Folgendes geschrieben:
wenn man dann noch in deinem 2. teil die einträge richtig vertauscht und nicht falschrum kommt das ergebniss auch raus
wow, Respekt für dein Auge, dass du das so erkannt hast
Ich habe auch noch eine anschließende Frage:
ich habe ja oben bei der Multiplikation von t = q*p die jeweils einzelnen Koeffizienten der Vektoren multipliziert. Wenn sich mein p aber nicht nur aus [0 X Y Z] zusammensetzt, sondern aus [0 (X-XM)^2/a^2 (Y-YM)^2/b^2 (Z-ZM)^2/c^2] dann wird doch beispielhaft für den ersten Wert von t statt
probier es doch aus.bau dir doch was zusammen wo du das ergebniss kennst nach der rotation.
Ja, das habe ich probiert. Ich habe einen Punkt genommen, der auf meinem Ellipsoid (Ursprung in -1,-1,-1 und Halbachsen 50,25,10) liegt und diesen mittels Euler Winkeln (alpha = 12°, beta = 40° und gamma = 81°) gedreht.
Die Werte lauten demnach
Also wenn ich jetzt die Rotation laut deines Codes von oben q*p*q^-1 durchführe, müsste für p = (-30.8 -1 -9.1) der Vektor (-5.6 17.0 -26.2) herauskommen.
Um die Parameter der Halbachsen (a,b,c) und die Ursprungsverschiebung (XM,YM,ZM) in die Berechnung einzufügen, habe ich es jetzt auf mehreren Wegen probiert. Die Einbindung von XM,YM,ZM ist noch denkbar für mich, nur wie die Parameter der Halbachsen dort mit hineinkommen, ist für mich schwer vorstellbar.
Versuch1: (Halbachse a wird für als Quotient des gesamtes Terms für t(2) genommen)
Die Berechnung von q_inv, s etc. erfolgt analog zu oben - dort müssen die Parameter ja nicht mehr berücksichtigt werden.
Ich habe als "Inspiration" diese Dissertation (S.82), wo die Rotation mittels Euler Winkeln geschieht und dabei auch nur um eine der Achsen (um Z). Gerade mit der vierten Dimension der Quaternionen kann ich die Einbindung der Halbachsenparameter nicht übertragen auf mein aktuelles Problem.
Einstellungen und Berechtigungen
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.