LlAxisAngle2Rot
De DigiWiki.
Version du 23 août 2013 à 01:25 par Djphil (discuter | contributions)
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)); } }