|
|
|
|
|
by srean
308 days ago
|
|
If you want uniformly random on the spherical surface then uniformly at random in polar coordinates will not cut it. To appreciate why, consider strips along two constant latitudes. One along the Equator and the other very close to the pole. The uniformly random polar coordinates method will assign roughly the same number points to both. However the equatorial strip is spread over a large area but the polar strip over a tiny area. So the points will not be uniformly distributed over the surface. What one needs to keep track of is the ratio between the infinitesimal volume in polar coordinates dphi * dtheta to the infinitesimal of the surface area. In other words the amount of dilation or contraction. Then one has apply the reciprocal to even it out. This tracking is done by the determinant of the Jacobian. |
|
This gives an algorithm for sampling from a sphere: choose randomly from a cylinder and then project onto a sphere. In polar coordinates:
Potentially this is slower than the method in the OP depending on the relative speeds of sqrt and arcsin.