Generates perlin noise based on the 2002 Siggraph paper http://mrl.nyu.edu/~perlin/noise/ Also https://flafla2.github.io/2014/08/09/perlinnoise.html
The amplitude determines the relative height of the peaks generated in the noise.
Frequency to use when generating the noise, the higher the number the more quickly the pattern will oscillate. Another way to think about this is that it is like "zooming" out from an infinite pattern determined by the seed.
Number of octaves to use when generating the noise, the number of octaves is the number of times the perlin noise is generated and laid on top of itself. Using higher values can increase the curviness of the noise, and make it look more natural.
The persistance determines how quickly the amplitude will drop off, a high degree of persistance results in smoother patterns, a low degree of persistance generates spiky patterns.
Generates a 2D grid of perlin noise given a step value packed into a 1D array i = (x + y*width), by default the step will 1/(min(dimension))
Generates 1-Dimensional perlin noise given an x and generates noises values between [0, 1].
Generates 2-Dimensional perlin noise given an (x, y) and generates noise values between [0, 1]
Generates 3-Dimensional perlin noise given an (x, y, z) and generates noise values between [0, 1]
Generates a list starting at 0 and ending at 1 of continuous perlin noise, by default the step is 1/length;