fork download
  1. import numpy as np
  2. def points_on_sphere(N, norm=np.random.normal):
  3. """
  4. http://e...content-available-to-author-only...a.org/wiki/N-sphere#Generating_random_points
  5. """
  6. normal_deviates = norm(size=(N, 3))
  7. radius = np.sqrt((normal_deviates ** 2).sum(axis=0))
  8. points = normal_deviates / radius
  9. return points
  10. print points_on_sphere(10)
  11.  
Success #stdin #stdout 0.11s 16448KB
stdin
Standard input is empty
stdout
[[ 0.37215828  0.16862529 -0.19831142]
 [-0.30884243 -0.04804395 -0.37196326]
 [-0.38227073 -0.44711221  0.14504383]
 [ 0.07412647 -0.49448021 -0.37591592]
 [-0.23964845  0.42739525 -0.45594488]
 [-0.29056823 -0.33170178  0.13752717]
 [-0.30580902  0.1682968  -0.02588379]
 [-0.02110632 -0.09389085  0.05207283]
 [ 0.60399865 -0.03818282  0.59799105]
 [-0.11768025  0.43994009 -0.26868407]]