Simplex noise

From Wikipedia, the free encyclopedia

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 and up) with much less computational cost, the complexity is O(n) for n dimensions instead of the O(2n) of classic Noise.
  • Simplex noise has no noticeable directional artifacts (is not anisotropic).
  • 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 (ie: North South East West in 2D), Simplex noise divides the space into simplexes (ie: n dimensional equilateral 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.

[edit] See also

[edit] References

  1. ^ Ken Perlin, Noise hardware. In Real-Time Shading SIGGRAPH Course Notes (2001), Olano M., (Ed.). (pdf)

[edit] External links