I'm having difficulty understanding a lot of the highly mathematical papers available online describing how Perlin noise generation works, and I'm wondering if anyone could point me in the direction of a more accessible introduction. I am looking to use Perlin noise in an application to create 2D textures.
It's worth noting that the original Perlin noise algorithm has been deprecated by the author. Ken Perlin designed a new version: Simplex Noise
There is a good explanation of Simplex Noise with Java implementation here.