|
|
Line 1: |
Line 1: |
| {{lead too short|date=August 2013}}
| | [http://www.wonderhowto.com/search/Historical/ Historical] past of the of the author is definitely Gabrielle Lattimer. For years she's been working due to a library assistant. For a while she's just lately in Massachusetts. As a woman what lindsay really likes is mah jongg but she by no means made a dime to barefoot jogging. She are running and maintaining a blog here: http://prometeu.net<br><br>Feel free to visit my web blog - clash of clans cheats ([http://prometeu.net Read prometeu.net]) |
| {{one source|date=August 2013}}
| |
| '''Perlin noise''' is a [[computer graphics|computer-generated visual effect]] developed by [[Ken Perlin]], who won an [[Academy Award for Technical Achievement]] for inventing it. It can be used to simulate elements from nature, and is especially useful in circumstances where computer memory is limited.
| |
| | |
| ==Uses==
| |
| [[Image:Perlin_noise.jpg|frame|Two-dimensional slice through 3D Perlin noise.]]
| |
| Perlin noise is a [[Procedural_generation|procedural]] [[Texture (computer graphics)|texture]] primitive, a type of [[gradient noise]] used by visual effects artists to increase the appearance of realism in [[computer graphics]]. The function has a [[pseudo-random]] appearance, yet all of its visual details are the same size (see image). This property allows it to be readily controllable; multiple scaled copies of Perlin noise can be inserted into mathematical expressions to create a great variety of [[procedural texture]]s. Synthetic textures using Perlin noise are often used in [[computer-generated imagery|CGI]] to make computer-generated visual elements – such as fire, smoke, or clouds – appear more natural, by imitating the controlled random appearance of textures of nature.
| |
| | |
| It is also frequently used to generate textures when memory is extremely limited, such as in [[Demo (computer programming)|demos]], and is increasingly finding use in [[graphics processing unit]]s for [[real-time graphics]] in [[computer game]]s.
| |
| | |
| ==Development==
| |
| Perlin noise resulted from the work of [[Ken Perlin]], who developed it at [[Mathematical Applications Group, Inc.]] (MAGI) for [[Disney]]'s [[computer animated]] [[sci-fi]] motion picture ''[[Tron]]'' (1982). In 1997, he won an [[Academy Award for Technical Achievement]] from the [[Academy of Motion Picture Arts and Sciences]] for this contribution to CGI.<ref>Kerman, Phillip. ''Macromedia Flash 8 @work: Projects and Techniques to Get the Job Done.'' Sams Publishing. 2006. ISBN 9780672328282.</ref>
| |
| | |
| ==Algorithm==
| |
| [[Image:Perlin.png|thumb|128px|Perlin noise rescaled and added into itself to create [[fractal noise]].]]
| |
| Perlin noise is most commonly implemented as a two-, three- or four-dimensional [[function (mathematics)|function]], but can be defined for any number of dimensions.
| |
| | |
| Define an ''n''-dimensional grid. Each grid coordinate stores a gradient of unit length in ''n'' dimensions. To sample, determine which grid cell you're in, and then compute the ''n''-dimensional vectors from the sample location to each grid coordinate of the cell. For each grid coordinate, calculate the [[dot product]]s of the corresponding distance and gradient vectors. Finally, interpolate these dot products using a function that has zero first derivative (and possibly also second derivative) at both endpoints.
| |
| | |
| In 2001, [[Ken Perlin]] created [[simplex noise]], which is similar but uses a simpler space-filling grid, alleviating some problems with Perlin "classic noise", among them, computational complexity.
| |
| | |
| ==Complexity==
| |
| When <math>n</math> is the number of dimensions, Perlin noise has complexity <math>O(2^n)</math>, while simplex noise has complexity <math>O(n^2)</math>.
| |
| | |
| ==See also==
| |
| * [[Value noise]]
| |
| * [[Fractal landscape]]
| |
| * [[Simplex noise]]
| |
| * [[Simulation noise]]
| |
| * [[Wavelet noise]]
| |
| * [[Worley noise]]
| |
| * [[Gradient noise]]
| |
| | |
| == References ==
| |
| {{reflist}}
| |
| | |
| ==External links==
| |
| * [http://www.noisemachine.com/talk1/ Making Noise] Ken Perlin talk on noise.
| |
| * [http://mrl.nyu.edu/~perlin/doc/oscar.html#noise Original source code] of Ken Perlin's 'coherent noise function'
| |
| * [http://webstaff.itn.liu.se/~stegu/TNM022-2005/perlinnoiselinks/perlin-noise-math-faq.html Matt Zucker's Perlin noise math FAQ ]
| |
| * [http://www.ddj.com/architect/222600097?pgno=4 Rob Farber's tutorial demonstrating Perlin noise generation and visualization on CUDA-enabled graphics processors]
| |
| * [http://www.xna-connection.com/post/Algorithme-de-Perlin-Noise-en-C French tutorial about implementing improved Perlin Noise in C#]
| |
| | |
| [[Category:Noise]]
| |
| [[Category:Special effects]]
| |
| [[Category:Fractals]]
| |
| [[Category:Computer graphics]]
| |
Historical past of the of the author is definitely Gabrielle Lattimer. For years she's been working due to a library assistant. For a while she's just lately in Massachusetts. As a woman what lindsay really likes is mah jongg but she by no means made a dime to barefoot jogging. She are running and maintaining a blog here: http://prometeu.net
Feel free to visit my web blog - clash of clans cheats (Read prometeu.net)