When I first came across Ken Perlin's gradient noise algorithms: Perlin noise, Improved Perlin Noise, and Simplex Noise, I immediately wanted to learn how to design and program these wonderful, impressive graphics for myself. But, figuring this out proved to be a challenge.
Perlin's own explanation, while useful, is somewhat terse. Stefan Gustafson's paper: Simplex noise demystified, offers an excellent explanation of the theory and mathematics of gradient noise, as well as links to his Java implementation of the 2D, 3D & 4D noise function. However, his document does not provide much information on how to get specific effects.
I started SiVi as a way to help programmers (myself, mostly!) understand how to work with gradient noise at the design level. The tool exposes commonly used parameters for hands-on tweaking and immediate visual feedback. Included with the project is a gallery of graphics generated with SiVi, that can be loaded into the tool and used as starting points for experiments. In the course of expanding the project, I've added the ability to export the results as a jpg. The most recent addition is the ability to view and export Z-Axis animations as animated gifs. Most of the gifs decorating this website were generated with SiVi.
Please consider joining the github project!
Here is a link to my start on a set of tutorials on designing textures using SiVi.
Another tutorial link: How to Modulate 2D Side-scroller Terrain Strata with Perlin Noise