Difference between revisions of "LlAxes2Rot/fr"

From Second Life Wiki
Jump to navigation Jump to search
m (Oops)
m (added example)
Line 12: Line 12:
|spec
|spec
|caveats
|caveats
|examples
|examples=<lsl>
default
{
    state_entry()
    {
        vector i = < 1.0, 0.0, 0.0>;
        vector j = < 0.0, 1.0, 0.0>;
        vector k = < 0.0, 0.0, 1.0>;
 
        rotation rot = llAxes2Rot( j, -i, k );
 
        llSay(0, (string) (llRot2Euler(rot) * RAD_TO_DEG) );
    }
}</lsl>
 
Ce script affiche :
  Object: <-0.00000, 0.00000, 90.00000>
ce qui montre que ('''j''', '''-i''', '''k''') est obtenu en tournant ('''i''', '''j''', '''k''') de 90 degrés autour de la direction z.
|helpers
|helpers
|helpers
|also_functions
|also_functions

Revision as of 08:17, 6 April 2008

Description

Fonction: rotation llAxes2Rot( vector avant, vector gauche, vector haut );

Renvoie un rotation tel que défini par les 3 vecteurs.

• vector avant
• vector gauche
• vector haut

Les 3 vecteurs doivent être des vecteurs unitaires orthogonaux deux à deux

Exemples

<lsl> default {

   state_entry()
   {
       vector i = < 1.0, 0.0, 0.0>;
       vector j = < 0.0, 1.0, 0.0>;
       vector k = < 0.0, 0.0, 1.0>;
       rotation rot = llAxes2Rot( j, -i, k );
       llSay(0, (string) (llRot2Euler(rot) * RAD_TO_DEG) );
   }

}</lsl>

Ce script affiche :

  Object: <-0.00000, 0.00000, 90.00000>

ce qui montre que (j, -i, k) est obtenu en tournant (i, j, k) de 90 degrés autour de la direction z.

Notes

Techniquement, deux vecteurs non colinéaires sont suffisants pour définir une rotation qui pourrait être également générée par

llAxes2Rot(avant, gauche, avant % gauche);
Vous cherchez encore des informations ? Peut-être cette page du LSLwiki pourra vous renseigner.