Slerp

From Second Life Wiki
Revision as of 10:15, 1 February 2007 by Strife Onizuka (talk | contribs)
Jump to navigation Jump to search

"Wikipedia logo"Slerp

Slerp is shorthand for spherical linear interpolation, introduced by Ken Shoemake in the context of quaternion interpolation for the purpose of animating 3D rotation. It refers to constant speed motion along a unit radius great circle arc, given the ends and an interpolation parameter between 0 and 1.

<lsl> //Taken from http://forums.secondlife.com/showthread.php?p=536622 rotation slerp( rotation a, rotation b, float f ) {

   float angleBetween = llAngleBetween(a, b);
   if ( angleBetween > PI )
       angleBetween = angleBetween - TWO_PI;
   return a*llAxisAngle2Rot(llRot2Axis(b/a)*a, angleBetween*f);

} </lsl>