<p>The benefit of perlin noise is the overall distribution of frequencies. Since value noise uses simple values that are interpolated, there is a higher chance, that a row of several values only differs a little. The consequence is, that some regions of your picture may contain little changes and some regions a lot of changes. </p>

<p>By using gradients you are reducing this effect because the interpolation is not done by value but instead calculated between tangents. Now it's more difficult to have a flat curve (both tangents must be collinear).</p>

<p><a href="https://i.sstatic.net/7kSzR.png" rel="noreferrer"><img src="https://i.sstatic.net/7kSzR.png" alt="perlin noise vs value noise"></a></p>

<p>Source: As noted by Martin Ender the question was already posted on a different StackExchange community: see <a href="https://math.stackexchange.com/q/184121/50421">this Math.SE post</a>.</p>

CC BY-SA 3.0
2016-06-14T10:03:24.597Z
2016-06-14T10:03:24.597Z
2017-04-13T12:19:38.027Z
Timm
<p>While investigating the inner workings of perlin noise, I wondered why one would use perlin noise instead of simple value noise. As far as I understand it right, the following applies:</p>

<p>Perlin noise is a lattice based noise function, which assigns a n-dimensional gradient (random for the original implementation, fixed for the improved one) for every point in the underlying noise space. Now you can query a value for every point in space by calculating the dot product between the distance vector and the gradient vector. After that you average all values calculated and get the queried value.</p>

<p>But isn't value noise kind of the same without using gradient vectors but random values? Since I also interpolate between values in value noise I cannot see any benefits by using an additional calculation step (the dot product) in perlin noise.</p>

<p>So why would I use perlin noise instead of value noise? Why is perlin noise so popular?</p>

CC BY-SA 3.0
2016-06-14T07:00:06.440Z
[Same question on Math.SE.](http://math.stackexchange.com/q/184121/50421)
Martin Ender
<noise>
benefit of perlin noise over value noise
Timm
# benefit of perlin noise over value noise

(Asked by: username_0 on 2016-06-13)

While investigating the inner workings of perlin noise, I wondered why one would use perlin noise instead of simple value noise. As far as I understand it right, the following applies:

Perlin noise is a lattice based noise function, which assigns a n-dimensional gradient (random for the original implementation, fixed for the improved one) for every point in the underlying noise space. Now you can query a value for every point in space by calculating the dot product between the distance vector and the gradient vector. After that you average all values calculated and get the queried value.

But isn't value noise kind of the same without using gradient vectors but random values? Since I also interpolate between values in value noise I cannot see any benefits by using an additional calculation step (the dot product) in perlin noise.

So why would I use perlin noise instead of value noise? Why is perlin noise so popular?

**Tags:** noise

> **Comments:**
> **username_1**: [Same question on Math.SE.](http://math.stackexchange.com/q/184121/50421)  

---

## 1 answers

### Answer by username_0 on 2016-06-14. Score: 14 | Accepted answer

The benefit of perlin noise is the overall distribution of frequencies. Since value noise uses simple values that are interpolated, there is a higher chance, that a row of several values only differs a little. The consequence is, that some regions of your picture may contain little changes and some regions a lot of changes.

By using gradients you are reducing this effect because the interpolation is not done by value but instead calculated between tangents. Now it's more difficult to have a flat curve (both tangents must be collinear).

[![perlin noise vs value noise](https://i.sstatic.net/7kSzR.png)](https://i.sstatic.net/7kSzR.png)

Source: As noted by username_1 the question was already posted on a different StackExchange community: see [this Math.SE post](https://math.stackexchange.com/q/184121/50421).


---

