LlRotBetween/fr

From Second Life Wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Description

Fonction: rotation llRotBetween( vector début, vector fin );

Renvoie un rotation correspondant à la rotation entre les vecteurs début et fin

• vector début
• vector fin

Spécifications

début et fin représentent des directions ayant pour origine le point <0.0, 0.0, 0.0>. Si vous utilisez une origine différente, soustrayez les coordonnées de cette origine aux vectors en entrée.

Avertissements

  • début * llRotBetween(début, fin) == fin est vrai uniquement si début et fin ont une norme identique et non nulle. (regardez les #Notes pour plus d’informations).

Exemples

<lsl>llRotBetween(<1.0, 0.0, 0.0>, <0.0, -1.0, 0.0>) // Renverra <0.00000, 0.00000, -0.70711, 0.70711> (représente un angle de -90 degrés sur l’axe z)

llRotBetween(<0.0, 0.0, 0.0>, <0.0, -1.0, 0.0>) // Renverra <0.00000, 0.00000, 0.00000, 1.00000> (représente un angle nul sur tous les axes) // car <0.0, 0.0, 0.0> ne donne pas de direction.</lsl>

Notes

Cette fonction réalise un ajustement de la norme des quaternions ainsi : début * llRotBetween(début, fin) == fin est vrai tant qu’aucune des deux valeurs n’a une norme nulle. Les vectors n’ont pas besoin d’avoir la même norme. <lsl> rotation RotBetween(vector début, vector fin) //ajuste la norme des quaternions de façon à ce que (début * retour_fonction == fin) {//Note de l’auteur : Je n’ai jamais eu besoin de ce script, mais il est toujours bon de le connaître au cas où...

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

}//Strife Onizuka </lsl>

Voir également

Fonctions

•  llAngleBetween Renvoie l’angle entre deux rotations
Vous cherchez encore des informations ? Peut-être cette page du LSLwiki pourra vous renseigner.