The Math Forum

Search All of the Math Forum:

Views expressed in these public forums are not endorsed by NCTM or The Math Forum.

Math Forum » Discussions » sci.math.* » sci.math

Topic: How to make weighted random numbers?
Replies: 7   Last Post: Feb 28, 2009 3:49 AM

Advanced Search

Back to Topic List Back to Topic List Jump to Tree View Jump to Tree View   Messages: [ Previous | Next ]

Posts: 1,677
Registered: 12/1/07
Re: How to make weighted random numbers?
Posted: Feb 27, 2009 10:09 PM
  Click to see the message monospaced in plain text Plain Text   Click to reply to this topic Reply

On Feb 27, 6:36 pm, Rich Grise <> wrote:
> Say, I want to fill a sphere uniformly with random dots; the logical way
> to do that in r,theta format;

No. That would not fill the sphere uniformly (unless you had a non-
uniform distribution with respect to the radius). Probably the easiest
way, for a sphere of radius r, is to do it for a sphere of radius 1
and then scale up (or down) all dimensions by the factor r. So, for a
sphere of radius 1, choose three coordinates (X,Y,Z) independently and
at random between -1 and +1; accept the point (X,Y,Z) if X^2 + Y^2 +
Z^2 <= 1; otherwise, reject the point and generate another point
(X,Y,Z), etc. It is easy to show that the accepted points are
uniformly distributed throughout the sphere. Of course, some generated
points are wasted, but the ratio of accepted points to total points
generated = Volume(sphere)/Volume(cube of side 2) = 0.5236, so about
52% of the generated points get accepted. If generating random numbers
is cheap compared to other computations, then wasting 48% of the
generated points may still be cheaper and more efficient than some
other methods.

R.G. Vickson

> otherwise to make a sphere, you'd have to
> do  some heroic math on the three dimension (or is there some
> quick-n-dirty formula that can do it in one flop, that they don't tell
> us high school (and Tech School, don't forget!) ?
> Either way. I don't want a uniform sphere - more like density through the
> center looks like a bell-shaped curve, i.e., denser in the middle?
> It's got to be computable, maybe with iterations, but that's what I
> do best! I just have no idea what the algorithm would be.
> What I'm up to is I have a 3-d drafting program and I want to approximate
> a translucent ball effect. I can enter coordinates by copying the output
> and paste it into the command line to automatically place n dots. ;-)
> Thanks!
> Rich

Point your RSS reader here for a feed of the latest messages in this topic.

[Privacy Policy] [Terms of Use]

© The Math Forum at NCTM 1994-2017. All Rights Reserved.