Many people have used random number generators in their programs to create unpredictability, make the motion and behavior of objects appear more natural, or generate textures. Random number generators certainly have their uses, but at times their output can be too harsh to appear natural. This article will present a function which has a very wide range of uses, more than I can think of, but basically anywhere where you need something to look natural in origin. What's more it's output can easily be tailored to suit your needs.
If you look at many things in nature, you will notice that they are fractal. They have various levels of detail. A common example is the outline of a mountain range. It contains large variations in height (the mountains), medium variations (hills), small variations (boulders), tiny variations (stones) you could go on. Look at almost anything: the distribution of patchy grass on a field, waves in the sea, the movements of an ant, the movement of branches of a tree, patterns in marble, winds. All these phenomena exhibit the same pattern of large and small variations. The Perlin Noise function recreates this by simply adding up noisy functions at a range of different scales.
Perlin
Noise, named after its inventor Ken Perlin, is a
widely used texturing primitive in two- and three- dimensional image creation. The Perlin Noise
function generates a smoothly interpolated
space of pseudo-random values which can be
used as the
basis for the procedural generation of realistic
natural textures, such as marble,
clouds, grass and many others.
PERLIN NOISE PLUGIN
for 3DSMax
Perlin Noise plugin
for 3DSMax (developed by Yaroslav Barsoukov
and Dimitriy Maslennikov
for Consortium “Geometrical Education in New Information Technologies”) adds a
new type of 3D texture to 3DSMax Material Browser. The plugin
allows user to control the main parameter of generated noise - the number of
octaves, and also its alpha and beta parameters.
Octaves
In nature a fractal
relationship is often seen, so that as you look more closely into a pattern it
often includes smaller versions of itself. The Octaves parameter simulates this
effect by adding scaled down versions of the noise function to itself with
progressively smaller amplitude. For example, setting Octaves to two means you
get the standard noise function plus the same function at half scale with half
of the amplitude. Upping the number of Octaves means that the pattern is more
complex and more natural looking but also takes longer to generate.
Use
Absolute Value (alpha)
Normally
the Perlin Noise function outputs a value between -1
and 1. By taking the absolute value of the output you can modify the look of
the noise that's generated, particularly when adding Octaves together.
Scale
This is used to control how
the coordinates of the noise function space are mapped onto the output. You use
this zoom in and out of the space.
|
Perlin Noise on 2 octaves |
|
|
|
|
|
Perlin Noise on 4 octaves |
|
|
|
|