• Bitte schaltet eure Ad Blocker aus. SLinfo kann nur betrieben werden, wenn es durch Werbung Einnahmen erzielt. Vielen Dank!!
  • Wir freuen uns, wenn du dich in unserem Forum anmeldest. Bitte beachte, dass die Freigabe per Hand durchgeführt wird (Schutz vor Spammer). Damit kann die Freigabe bis zu 24 Stunden dauern.
  • Wir verwenden Cookies, um Inhalte und Anzeigen zu personalisieren, Funktionen für soziale Medien anbieten zu können und die Zugriffe auf unsere Website zu analysieren. Sie geben Einwilligung zu unseren Cookies, wenn Sie unsere Webseite weiterhin nutzen.

Additionen bei quaternions

argus Portal

Freund/in des Forums
Hallo

Eine Frage zum Datentyp "rotation".


Kleines Beispiel:


Code:
rotation R;

R = llGetRot();

R = R + llEuler2Rot(<45.0,0.0,0.0> * DEG_TO_RAD);

Rotiert wird aber nur um den halben Betrag. Will ich beispielsweise
eine Rotation um 45 Grad, so muss ich den Betrag verdoppeln, wenn ich
mit obiger Methode arbeite: Also 90.0 statt 45.0.

Kann mir das jemand erklären ?


Mich interessiert das vom technischen Standpunkt aus. Das ich die Rotation hier
mittels Kombination aus Quaternion und eulerschen Winkeln vornehme soll jetzt
nichts mit meiner Frage zu tun haben.
 
Das ist richtig.
Wenn du ein Vector um 45° drehst, entspricht das einen Quaterion von 90°.
Pauschal kannst du immer von der haelfte bzw. vom doppelten ausgehen, je nachdem wie herum du rechnest.
Eleganter jedoch ist es die Variablen vor der eigentlichen Aufgabe anzugleichen.
Da bietet sich natuerlich die Umrechnung zum Vector an, da diese Variante fuer uns einfacher zu verstehen ist.

Zum umrechnen habe ich mal ein kleines Beispiel in der Wiki veroeffentlicht:
*DS* Rotation Converter

LG
Dae
 
Zuletzt bearbeitet:

Users who are viewing this thread

Zurück
Oben Unten