Direct sphere.py

From Werner KRAUTH

(Difference between revisions)
Jump to: navigation, search
Revision as of 21:22, 22 September 2015
Werner (Talk | contribs)

← Previous diff
Current revision
Werner (Talk | contribs)

Line 1: Line 1:
 +This page presents the program direct_sphere.py, a direct-sampling algorithm for uniform random points inside the three-dimensional unit sphere.
 +
 +__FORCETOC__
 +=Description=
 +
 +=Program=
import random, math import random, math
Line 9: Line 15:
/ math.sqrt(x ** 2 + y ** 2 + z ** 2) / math.sqrt(x ** 2 + y ** 2 + z ** 2)
print x * length, y * length, z * length print x * length, y * length, z * length
 +
 +=Version=
 +See history for version information.
 +
 +[[Category:Python]]
 +[[Category:Honnef_2015]]
 +[[Category:MOOC_SMAC]]

Current revision

This page presents the program direct_sphere.py, a direct-sampling algorithm for uniform random points inside the three-dimensional unit sphere.


Contents

Description

Program

import random, math

nsamples = 100
for sample in xrange(nsamples):
    x, y, z = (random.gauss(0.0, 1.0),
               random.gauss(0.0, 1.0),
               random.gauss(0.0, 1.0))
    length = random.uniform(0.0, 1.0) ** (1.0 / 3.0) \
                    / math.sqrt(x ** 2 + y ** 2 + z ** 2)
    print x * length, y * length, z * length

Version

See history for version information.