Difference between revisions of "LlRotBetween/fr"
(proof reading) |
m (pre -> lsl) |
||
Line 10: | Line 10: | ||
|constants | |constants | ||
|examples= | |examples= | ||
< | <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.</ | // 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. | ||
< | <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 | ||
</ | </lsl> | ||
|deprecated | |deprecated | ||
|cat1=Math/3D/fr | |cat1=Math/3D/fr |
Revision as of 17:24, 7 December 2008
LSL Portail Francophone | LSL Portail Anglophone | Fonctions | Évènements | Types | Operateurs | Constantes | Contrôle d'exécution | Bibliothèque | Tutoriels |
Description
Fonction: rotation llRotBetween( vector début, vector fin );21 | N° de fonction |
0.0 | Delais |
10.0 | Energie |
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 |