LlRotBetween/fr

From Second Life Wiki
< LlRotBetween
Revision as of 00:43, 9 October 2008 by Ales Beaumont (talk | contribs) (proof reading)
Jump to navigation Jump to search

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

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.

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.

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

Voir également

Fonctions

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