LlAxisAngle2Rot

De DigiWiki.

default
{
    state_entry()
    {
        vector axis = <0.0, 0.0, 1.0>;
        float angle = 90.0 * DEG_TO_RAD;
        rotation rot = llAxisAngle2Rot(axis, angle);
        vector euler = llRot2Euler(rot) * RAD_TO_DEG;
 
        llOwnerSay((string) euler);
        //Says <0.0, 0.0, 90.0> since it is rotating 90 degrees on the Z axis caused by the 1.0 placed in the Z vector spot. 
    }
}

Snippet

rotateFromStartToFinish(integer N,rotation startRot,rotation endRot)
{
    rotation B = (ZERO_ROTATION/startRot)*endRot;
    vector axis = llRot2Axis(B);
    float angle = llRot2Angle(B);
 
    integer j;
 
    for(j = 0; j <= N, ++j)
    {
        llSetRot(startRot*llAxisAngle2Rot(axis,((float)j)/((float)N)*angle));
    }
}
Outils personnels
  • Cette page a été consultée 980 fois.
donate
Google Ads