It resulted from the work of Ken Perlin, who developed it while working at Mathematical Applications Group, Inc.. In 1997 he won an Academy Award for Technical Achievement from the Academy of Motion Picture Arts and Sciences for this contribution to the 1982 movie Tron .
Perlin noise is implemented as a function of either (x,y,z) or (x,y,z,time) which uses interpolation between a set of pre-calculated gradient vectors to construct a value that varies pseudo-randomly over space and/or time. 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, and is increasingly finding use on Graphics Processing Units for real-time graphics in computer games.