You can certainly use the "rejection" method for picking points uniformly distributed on a sphere by first choosing n+1 real numbers x_0, ..., x_n in [-1, 1] and using only those sets of points with x_0^2 + ... + x_n^2 <= 1. But as the dimension increases, the fraction rejected becomes very high very fast. A better method is based on a smart way to choose points from the standard normal distribution in R^2: 1. Pick x, y from the uniform distribution on [0, 1]. 2. Let A = sqrt(-2 ln(x)) cos(2πy) B = sqrt(-2 ln(x)) sin(2πy). Then A and B are independent standard normal variates.* 3. Repeating this floor[n/2] times gives the coordinates of a standard normal point in R^n. Dividing by its length gives a uniformly distributed point on the unit sphere S^(n-1). —Dan ————— * For more on this see <https://en.wikipedia.org/wiki/Box-Muller_transform> Allan Wechsler: ----- That means that, to answer another question somebody asked here recently, you can produce points uniformly distributed on a sphere by generating N Gaussian coordinates and normalizing the resulting vector. -----