Reference:Rand.inc
A collection of macros for generating random numbers, as well as 4 predefined random number streams: RdmA, RdmB, RdmC, and RdmD. There are macros for creating random numbers in a flat distribution (all numbers equally likely) in various ranges, and a variety of other distributions.
Flat Distributions
SRand(Stream): Signed rand(), returns random numbers in the range [-1, 1].
Parameters:
Stream= Random number stream.
RRand(Min, Max, Stream): Returns random numbers in the range [Min, Max].
Parameters:
Min= The lower end of the output range.Max= The upper end of the output range.Stream= Random number stream.
VRand(Stream): Returns random vectors in a box from < 0, 0, 0> to < 1, 1, 1>
Parameters:
Stream= Random number stream.
VRand_In_Box(PtA, PtB, Stream): Like VRand(), this macro returns a random vector in a box, but this version lets you specify the two corners of the box.
Parameters:
PtA= Lower-left-bottom corner of box.PtB= Upper-right-top corner of box.Stream= Random number stream.
VRand_In_Sphere(Stream): Returns a random vector in a unit-radius sphere located at the origin.
Parameters:
Stream= Random number stream.
VRand_On_Sphere(Stream): Returns a random vector on the surface of a unit-radius sphere located at the origin.
Parameters:
Stream= Random number stream.
VRand_In_Obj(Object, Stream): This macro takes a solid object and returns a random point that is inside it. It does this by randomly sampling the bounding box of the object, and can be quite slow if the object occupies a small percentage of the volume of its bounding box (because it will take more attempts to find a point inside the object). This macro is best used on finite, solid objects (non-solid objects, such as meshes and bezier patches, do not have a defined inside, and will not work).
Parameters:
Object= The object the macro chooses the points from.Stream= Random number stream.
Other Distributions
Continuous Symmetric Distributions
Rand_Cauchy(Mu, Sigma, Stream): Cauchy distribution.
Parameters:
Mu= Mean.Sigma= Standard deviation.Stream= Random number stream.
Rand_Student(N, Stream): Student's distribution.
Parameters:
N= degrees of freedom.Stream= Random number stream.
Rand_Normal(Mu, Sigma, Stream): Normal distribution.
Parameters:
Mu= Mean.Sigma= Standard deviation.Stream= Random number stream.
Rand_Gauss(Mu, Sigma, Stream): Gaussian distribution. Like Rand_Normal(), but a bit faster.
Parameters:
Mu= Mean.Sigma= Standard deviation.Stream= Random number stream.
Continuous Skewed Distributions
Rand_Spline(Spline, Stream): This macro takes a spline describing the desired distribution. The T value of the spline is the output value, and the .y value its chance of occuring.
Parameters:
Spline= A spline determining the distribution.Stream= Random number stream.
Rand_Gamma(Alpha, Beta, Stream): Gamma distribution.
Parameters:
Alpha= Shape parameter > 0.Beta= Scale parameter > 0.Stream= Random number stream.
Rand_Beta(Alpha, Beta, Stream): Beta variate.
Parameters:
Alpha= Shape Gamma1.Beta= Scale Gamma2.Stream= Random number stream.
Rand_Chi_Square(N, Stream): Chi Square random variate.
Parameters:
N= Degrees of freedom (integer).Stream= Random number stream.
Rand_F_Dist(N, M, Stream): F-distribution.
Parameters:
N, M= Degrees of freedom.Stream= Random number stream.
Rand_Tri(Min, Max, Mode, Stream): Triangular distribution
Parameters:
Min, Max, Mode: Min < Mode < Max.Stream= Random number stream.
Rand_Erlang(Mu, K, Stream): Erlang variate.
Parameters:
Mu= Mean >= 0.K= Number of exponential samples.Stream= Random number stream.
Rand_Exp(Lambda, Stream): Exponential distribution.
Parameters:
Lambda= rate = 1/mean.Stream= Random number stream.
Rand_Lognormal(Mu, Sigma, Stream): Lognormal distribution.
Parameters:
Mu= Mean.Sigma= Standard deviation.Stream= Random number stream.
Rand_Pareto(Alpha, Stream): Pareto distribution.
Parameters:
Alpha= ?Stream= Random number stream.
Rand_Weibull(Alpha, Beta, Stream): Weibull distribution.
Parameters:
Alpha= ?Beta= ?Stream= Random number stream.
Discrete Distributions
Rand_Bernoulli(P, Stream) and Prob(P, Stream): Bernoulli distribution. Output is true with probability equal to the value of P and false with a probability of 1 - P.
Parameters:
P= probability range (0-1).Stream= Random number stream.
Rand_Binomial(N, P, Stream): Binomial distribution.
Parameters:
N= Number of trials.P= Probability (0-1)Stream= Random number stream.
Rand_Geo(P, Stream): Geometric distribution.
Parameters:
P= Probability (0-1).Stream= Random number stream.
Rand_Poisson(Mu, Stream): Poisson distribution.
Parameters:
Mu= Mean.Stream= Random number stream.