Perlin noise is a
procedural texturing technique, widely used in movies to produce
fire,
clouds, and other possible effects, in lieu of their physical counterparts.
It is produced by layering
noises of different
frequencies,
amplitudes and
curves on top of each other. This is able to create a
seemingly random yet smooth effect, usable for mountainous, rocky
heightmaps or smooth plains. The technique is usable for any positive amount of dimensions wanted. This allows three dimensional heightmaps, which vary over time, and three or
four dimensional fog maps. (The last being time, again)
Ken Perlin, who this method was named after, won an
Oscar for this technique, and developed it after working on
TRON in 1983.
A method of implementation for one dimensional noise is:
First, an array of random values is necessary. Assuming the value of x is a floating point, we must get the two neighbouring values in the random array: array[floor(x)] and array[floor(x + 1)]. Then, we interpolate those two values by the floating point part of x -- (x - floor(x)).
We can extend this method to two dimensions, also, and this requires interpolating between four neighbouring values. Three dimensions requires eight neighbours, and so on. 2
n.