NAME:
ransphere
PURPOSE: (one line only)
compute random points on a unit sphere
DESCRIPTION:
CATEGORY:
Mathematical
CALLING SEQUENCE:
ransphere,a0,a1,b0,b1,npts,VEC=vec,ANG=ang
INPUTS:
a0 - angle range start, this is RA, longitude, azimuth, [0,2pi)
a1 - angle range end, if a1>a0 means range passes through 0
b0 - angle range start, this is Decl, latitude, elevation, [-pi/2,pi/2]
b1 - angle range stop, b0 <= b1
npts - number of random values to generate
OPTIONAL INPUT PARAMETERS:
KEYWORD INPUT PARAMETERS:
OUTPUTS:
KEYWORD OUTPUT PARAMETERS:
VEC - cartesian unit vectors for the points, Nx3 array,
these are unit vectors
ANG - angles, Nx2 array, [a,b]
SEED - random number seed, default is undefined and begins sequence
COMMON BLOCKS:
SIDE EFFECTS:
RESTRICTIONS:
The latitude sampling is discretized due to the limitations of smplprb.
Only supports single-precision floating point output regardless of input.
PROCEDURE:
Sample uniformly in longitude, sample with cosine probability for latitude
MODIFICATION HISTORY:
2018/09/29, Written by Marc W. Buie