User:Pedro Oval/Uniform random rotation
Jump to navigation
Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Based on a "graphics gem" by Ken Shoemake [1]
rotation UniformRandRot()
{
// Method from Graphic Gems 3, "Uniform Random Rotations"
// by Ken Shoemake, p.130
float r2 = llFrand(1.0);
float a1 = llFrand(TWO_PI);
float a2 = llFrand(TWO_PI);
float r1 = llSqrt(1.0 - r2);
r2 = llSqrt(r2);
return <r1*llSin(a1), r1*llCos(a1), r2*llSin(a2), r2*llCos(a2)>;
}