Angstrom exponent: Difference between revisions

From formulasearchengine
Jump to navigation Jump to search
 
Fix spelling of proper noun "Ångström". John.A.Ogren@noaa.gov
 
Line 1: Line 1:
Hi there. My title is Garland although it is not the name on my beginning certificate. Playing croquet is some thing I will by no means give up. My job is a messenger. Some time in the past he chose to live in Kansas.<br><br>Look at my blog ... extended car warranty, [http://Sportshop-union.de/index.php?mod=users&action=view&id=13058 you can try this out],
'''Simplex noise''' is a method for constructing an ''n''-dimensional noise function comparable to [[Perlin noise]] ("classic" noise) but with a lower computational overhead, especially in larger dimensions. [[Ken Perlin]] designed the algorithm in 2001<ref>Ken Perlin, Noise hardware. In Real-Time Shading SIGGRAPH Course Notes (2001), Olano M., (Ed.). [http://www.csee.umbc.edu/~olano/s2002c36/ch02.pdf (pdf)]</ref> to address the limitations of his classic noise function, especially in higher dimensions.
 
The advantages of simplex noise over Perlin noise:
* Simplex noise has a lower computational complexity and requires fewer multiplications.
* Simplex noise scales to higher dimensions (4D, 5D) with much less computational cost, the complexity is <math>O(n^2)</math> for <math>n</math> dimensions instead of the <math>O(2^n)</math> of classic noise.<ref>Ken Perlin, Making noise. Based on a talk presented at GDCHardcore (Dec 9, 1999). [http://www.noisemachine.com/talk1/32.html (url)]</ref>
* Simplex noise has no noticeable directional artifacts (is [[isotropic]]).
* Simplex noise has a well-defined and continuous gradient everywhere that can be computed quite cheaply.
* Simplex noise is easy to implement in hardware.
 
Whereas classical noise interpolates between the values from the surrounding hypergrid end points (i.e., north, south, east and west in 2D), simplex noise divides the space into [[simplex|simplices]] (i.e., <math>n</math>-dimensional triangles) to interpolate between.  This reduces the number of data points. While a hypercube in <math>n</math> dimensions has <math>2^n</math> corners, a simplex in <math>n</math> dimensions has only <math>n + 1</math> corners. The triangles are equilateral in 2D, but in higher dimensions the simplices are only approximately regular.
 
Simplex noise is useful for computer graphics applications, where noise is usually computed over 2, 3, 4 or possibly 5 dimensions. For higher dimensions, ''n''-spheres around ''n''-simplex corners are not densely enough packed, reducing the support of the function and making it zero in large portions of space.
 
== See also ==
*[[Perlin noise]]
 
== References ==
<references/>
 
== External links ==
*[http://staffwww.itn.liu.se/~stegu/simplexnoise/simplexnoise.pdf Short technical article with source code by Stefan Gustavson] (PDF)
*[http://mrl.nyu.edu/~perlin/homepage2006/simplex_noise/index.html Perlin's animated "rubber sheet" simplex noise demo]
*[http://staffwww.itn.liu.se/~stegu/aqsis/aqsis-newnoise/ Another implementation of Simplex Noise in C++ (SimplexNoise1234)]
 
[[Category:Noise]]
[[Category:Computer graphic techniques]]

Latest revision as of 01:45, 30 March 2013

Simplex noise is a method for constructing an n-dimensional noise function comparable to Perlin noise ("classic" noise) but with a lower computational overhead, especially in larger dimensions. Ken Perlin designed the algorithm in 2001[1] to address the limitations of his classic noise function, especially in higher dimensions.

The advantages of simplex noise over Perlin noise:

  • Simplex noise has a lower computational complexity and requires fewer multiplications.
  • Simplex noise scales to higher dimensions (4D, 5D) with much less computational cost, the complexity is O(n2) for n dimensions instead of the O(2n) of classic noise.[2]
  • Simplex noise has no noticeable directional artifacts (is isotropic).
  • Simplex noise has a well-defined and continuous gradient everywhere that can be computed quite cheaply.
  • Simplex noise is easy to implement in hardware.

Whereas classical noise interpolates between the values from the surrounding hypergrid end points (i.e., north, south, east and west in 2D), simplex noise divides the space into simplices (i.e., n-dimensional triangles) to interpolate between. This reduces the number of data points. While a hypercube in n dimensions has 2n corners, a simplex in n dimensions has only n+1 corners. The triangles are equilateral in 2D, but in higher dimensions the simplices are only approximately regular.

Simplex noise is useful for computer graphics applications, where noise is usually computed over 2, 3, 4 or possibly 5 dimensions. For higher dimensions, n-spheres around n-simplex corners are not densely enough packed, reducing the support of the function and making it zero in large portions of space.

See also

References

  1. Ken Perlin, Noise hardware. In Real-Time Shading SIGGRAPH Course Notes (2001), Olano M., (Ed.). (pdf)
  2. Ken Perlin, Making noise. Based on a talk presented at GDCHardcore (Dec 9, 1999). (url)

External links