Perlin noise algorithm | ScratchStats