Perlin noise
From Wikipedia, the free encyclopedia
Perlin noise is a function which uses interpolation between a large number of pre-calculated gradient vectors to construct a value that varies pseudo-randomly over space and/or time.
A single "layer" of Perlin noise has one frequency. Multiple layers of Perlin noise can be blended together (spectral synthesis) to create a noise with as many frequencies as you wish. Spectral synthesis is often used to make a noise that resembles band-limited white noise. This is so often the case, it is a common misconception that Perlin noise is the result only after you perform spectral synthesis. (You can see from the image to the right, that Perlin noise is only one frequency.) Spectral synthesis of Perlin noise is often used in CGI to make computer-generated objects more natural-looking, by imitating the pseudo-randomness of nature.
It resulted from the work of Ken Perlin, who invented it to generate textures for Tron. He won a special Academy Award for Perlin noise in 1997, although Tron was denied the 1982 Academy Award for visual effects, because it "cheated" by using computer-generated imagery.
Ken Perlin improved the implementation in 2002, suppressing some visual artifacts (see the external links).
Perlin noise is widely used in computer graphics for effects like fire, smoke, and clouds. It is also frequently used to generate textures when memory is extremely limited, such as in demos.
[edit] See also
- Ken Perlin creator of Perlin noise
- Fractal landscape
- Simplex noise
- Simulation noise
[edit] External links
- Making Noise Ken Perlin talk on noise. A very nice introduction.
- Ken Perlin's homepage
- Improved Noise reference implementation Ken Perlin's "Improved Noise" Java source code and demos (2002).
- Ken Perlin's SIGGRAPH 2002 "Improved Noise" paper (PDF)
- Ken Perlin's Academy Award page
- Source code of Ken Perlin's original C implementation of noise
- Matt Zucker's Perlin noise math FAQ
- Hugo Elias' "Perlin Noise" article (Incorrectly titled "Perlin noise". It's value noise. Value noise is similar enough that this article is a great introduction to what noise is all about.)