You can use uniform random numbers generated from the GNU Scientific library, via ruby-gsl, http://rb-gsl.rubyforge.org/, see : http://rb-gsl.rubyforge.org/rng.html, if you should want random numbers that follow some other distribution, you can always pick a random number in the interval [0,1] and then numerically find the position at which the cumulative distribution reaches this value. Do this many times .. this gives you a distribution of points according to the distribution you're looking for. You don't have to program it all by yourself, but you can use the statistics2 package by Shin-ichiro Hara: see the readme here: http://blade.nagaokaut.ac.jp/~sinara/ruby/math/statistics2/statistics2-0.50/README Best regards, Axel -- Psssst! Schon vom neuen GMX MultiMessenger gehöòt? Der kanns mit allen: http://www.gmx.net/de/go/multimessenger