Difference between revisions of "LlRotBetween/fr"

From Second Life Wiki
Jump to navigation Jump to search
(proof reading)
m (pre -> lsl)
Line 10: Line 10:
|constants
|constants
|examples=
|examples=
<pre>llRotBetween(<1.0, 0.0, 0.0>, <0.0, -1.0, 0.0>)
<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 -45 degrés sur l’axe z)
// Renverra <0.00000, 0.00000, -0.70711, 0.70711> (représente un angle de -45 degrés sur l’axe z)


llRotBetween(<0.0, 0.0, 0.0>, <0.0, -1.0, 0.0>)
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)  
// 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.</pre>
// car <0.0, 0.0, 0.0> ne donne pas de direction.</lsl>
|helpers
|helpers
|also_functions={{LSL DefineRow||[[llAngleBetween/fr|llAngleBetween]]|Renvoie l’angle entre deux rotations}}
|also_functions={{LSL DefineRow||[[llAngleBetween/fr|llAngleBetween]]|Renvoie l’angle entre deux rotations}}
Line 23: Line 23:
|notes=
|notes=
Cette fonction réalise un ajustement de la norme des quaternions ainsi : <code>début * llRotBetween(début, fin) == fin</code> 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.  
Cette fonction réalise un ajustement de la norme des quaternions ainsi : <code>début * llRotBetween(début, fin) == fin</code> 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.  
<pre>
<lsl>
rotation RotBetween(vector début, vector fin) //ajuste la norme des quaternions de façon à ce que (début * retour_fonction == fin)  
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ù...
{//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ù...
Line 37: Line 37:
     return rot;
     return rot;
}//Strife Onizuka
}//Strife Onizuka
</pre>
</lsl>
|deprecated
|deprecated
|cat1=Math/3D/fr
|cat1=Math/3D/fr

Revision as of 18:24, 7 December 2008

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 -45 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.