Register to reply 
How to simulate a random walk on a sphere 
Share this thread: 
#1
Feb1212, 07:33 AM

P: 28

Dear All,
I am simulating a random walk on a sphere with unit radius. I want to move from current location p_t to the new location p_{t+1} along the big circle, whose arc has an angle omega relative to p_t's latitude. I tried using the law of cosine. But at the poles, the law of cosine diverges. Can anyone help find a method that works for all location on the sphere? Thanks! 


#2
Feb1212, 09:04 AM

P: 1,411




#3
Feb1212, 11:22 AM

P: 234

So say, at each step, you want to move by an angle [itex]\alpha[/itex] 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 [itex]\alpha[/itex], with axis a random line in the xyplane.
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 xyplane, 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 welldefined, so just let C be the map that mirrors the sphere across the xyplane.) So then the effect of [itex]CRC^{1}[/itex] on p is to carry it to a new point at an angular distance [itex]\omega[/itex] away, along a random great circle passing through p. 


Register to reply 
Related Discussions  
The random walk  Linear & Abstract Algebra  0  
Random walk  Advanced Physics Homework  3  
Random walk  Calculus & Beyond Homework  7  
Random walk (3)  Calculus & Beyond Homework  0  
Random walk (2)  Calculus & Beyond Homework  0 