LlRotBetween/de

From Second Life Wiki
Jump to: navigation, search

Beschreibung

Funktion: rotation llRotBetween( vector Anfang, vector Ende );

Gibt die Rotation zwischen der Richtung am Anfang und der Richtung am Ende.

• vector Anfang
• vector Ende

Spezifikationen

Anfang und Ende sind Richtungen relativ zum Ursprung <0.0, 0.0, 0.0>. Wenn Koordinaten relativ zu einem anderen Ursprung vorliegen, subtrahiere den Ursprung von den Eingangsvektoren.

Warnungen

  • Anfang * llRotBetween(Anfang, Ende) == Ende ist nur dann wahr, wenn Anfang und Ende den selben Betrag haben, sowie keiner den Betrag Null hat (siehe #Notizen für eine Abhilfe).
Alle Issues ~ Nach JIRA-Issues suchen, die sich hierauf beziehen

Beispiele

<lsl>llRotBetween(<1.0, 0.0, 0.0>, <0.0, -1.0, 0.0>) // wird <0.00000, 0.00000, -0.70711, 0.70711> zurück geben, (was -90° um die z Achse repräsentiert)

llRotBetween(<0.0, 0.0, 0.0>, <0.0, -1.0, 0.0>) // wird <0.00000, 0.00000, 0.00000, 1.00000> zurück geben (was eine drehung von 0° um alle Achsen repräsentiert),

// da <0.0, 0.0, 0.0> keine Richtung hat.</lsl>

Notizen

Diese Funktion stellt den Betrag der Quaternion so ein, dass Anfang * llRotBetween(Anfang, Ende) == Ende wahr ist, soweit keiner der Vektoren den Betrag Null hat. Sie müssen nicht den selben Betrag haben. <lsl>rotation RotBetween(vector Anfang, vector Ende) //adjusts quaternion magnitude so (start * return == end) {//Notiz des Autors: Ich hatte nie eine Anwendungsmöglichkeit hierzu, aber es ist gut zu wissen, falls man es mal braucht.

   rotation rot = llRotBetween(Anfang, Ende);
   if(Anfang)
   {
       if(Ende)
       {
           float d = llSqrt(llVecMag(Ende) / llVecMag(Anfang));
           return <rot.x * d, rot.y * d, rot.z * d, rot.s * d>;
       }
   }
   return rot;

}//Strife Onizuka</lsl>

Siehe auch

Funktionen

•  llAngleBetween Berechnet den Winkel zwischen zwei Rotationen

Weiterführende Anmerkungen

Nach JIRA-Issues suchen, die sich hierauf beziehen

Signature

function rotation llRotBetween( vector Anfang, vector Ende );
Dieser Artikel war nicht hilfreich für Dich? Vielleicht bringt der zugehörige Artikel im SLinfo Wiki Erleuchtung.