Perlin noise function.