Difference between revisions of "User:Pedro Oval/Uniform random rotation"
Jump to navigation
Jump to search
Pedro Oval (talk | contribs) (Added Uniform random rotation) |
Pedro Oval (talk | contribs) m (Changed link for the reference in the book, as the previous one ceased to work) |
||
Line 1: | Line 1: | ||
Based on a "graphics gem" by Ken Shoemake [http:// | Based on a "graphics gem" by Ken Shoemake [http://books.google.com/books?id=xmW_u3mQLmQC&pg=PA130] | ||
<lsl> | <lsl> |
Revision as of 04:56, 4 March 2011
Based on a "graphics gem" by Ken Shoemake [1]
<lsl> rotation UniformRandRot() {
// Method from Graphic Gems 3, "Uniform Random Rotations" // by Ken Shoemake, p.130 float x0 = llFrand(1.0); float a1 = llFrand(TWO_PI); float a2 = llFrand(TWO_PI); float r1 = llSqrt(1.0 - x0); float r2 = llSqrt(x0); float s1 = llSin(a1); float c1 = llCos(a1); float s2 = llSin(a2); float c2 = llCos(a2); return <s1*r1, c1*r1, s2*r2, c2*r2>;
} </lsl>