Fast Random Rotation Matrices Program of Computer Graphics Summary: Fast Random Rotation Matrices James Arvo Program of Computer Graphics Cornell University In a previous gem [Arvo 91] I described a method for generating random rotation matrices based on random unit quaternions. As Ken Shoemake points out in his gem [Shoemake 92], that algorithm was flawed in that it did not generate uniformly distributed rotation matrices. For a method based on quaternions that corrects this defect, with only slightly more computation, see his algorithm. In this gem I describe a completely different approach to solving the same problem which has the additional benefit of being slightly faster than the previous method. The approach is based on the following fact: To generate uniformly distributed random rotations of a unit sphere, first perform a random rotation about the vertical axis, then rotate the north pole to a random position. The first step of this prescription is trivial. Given a random number, x 1 , between 0 and 1, the matrix R below does the trick: R = 2 6 6 6 6 6 Collections: Computer Technologies and Information Sciences