Perlin noise is used extensively in computer generated images in gaming and animation. It can be used to generate interesting natural-looking images such as fog, fire, clouds, or molten lava.
I hunted around for a usable implementation in Objective-C. I came across a few libraries, but none supported what I wanted, which is a full implementation that supports four-dimensional (x,y,z,t) Perlin noise generation.
So I read up on the algorithm, looked at several C and C++ implementations, and implemented my own version. It is released under an MIT license.
The Github project includes:
The following were invaluable in coming up with my code. Before you begin, I recommend looking at these just to see some of the interesting textures you can generate with Perlin noise: