# How to simulate a random walk on a sphere

by phonic
Tags: random, simulate, sphere, walk
 P: 234 So say, at each step, you want to move by an angle $\alpha$ along a random great circle through the current point. If your current point is the "north pole", i.e. (0,0,1) in xyz coordinates, then that's just a rotation, call it R, by $\alpha$, with axis a random line in the xy-plane. And rather than worry about how you'd do it if the point isn't the north pole, I'd instead do a rotation C to bring my current point to the north pole, then do as above, then do the inverse of C. Finding such a C is straightforward; one way would be to project the current point to the xy-plane, draw a line through it and the origin, and take the perpendicular line through the origin to be the axis of rotation. Then you can rotate so that p travels along a great circle to the north pole. There are lots of other C's that would work (where p doesn't move along a great circle), but that's probably the easiest to compute. (Detail: if p is the south pole, this isn't well-defined, so just let C be the map that mirrors the sphere across the xy-plane.) So then the effect of $CRC^{-1}$ on p is to carry it to a new point at an angular distance $\omega$ away, along a random great circle passing through p.