# Is this how Simplex Noise works?

I have done a huge ton of reading up on Simplex Noise now, and after a lot of confusion and headaches I think I am able to form an idea of how Simplex Noise works now.

Am I right, that simplex noise (2D) is just a grid build of Simplexes, in this case triangles, where at every corner of a triangle there is a value between 0 and 1. When you ask the algorithm for a point it'll convert the 2D coordinates to the simplex grid coordinates, interpolate the noise and then return the actual value?

Yes. But there is slight mistake. In simplex noise, the resulting value is summed from its contributing coordinates. Perlin noise is using interpolation.

Edit: If we look at Simplex noise demystified, then final value is calculated as :

``````return 70.0 * (n0 + n1 + n2);
``````

And according to comment, the resulting values are in range [-1;1]

• Doesn't this mean that the value returned can be higher than 1? Or is it literally `(corner1 + corner2 + corner3) / 3`? Sep 7 '13 at 14:31
• @Binero No and yes, see my edit. Sep 7 '13 at 15:40
• Is there a reason for it to be -1 to 1 though? I can't see why it shouldn't work with 0 to 1. Sep 7 '13 at 16:36
• @Binero It is probably because it is easier to compute. You can still transform easily by calculating (x+1)/2 to get it to [0;1] range. Sep 7 '13 at 16:43