I've implemented 2D perlin noise for my final year project, but I think it has mistakes in it. Never got the time to verify. If anybody wants to take a look it's here: <a href="http://trac.assembla.com/terrainium/browser/TerrainiumLatest/Terrainium/src/terrainium/AlgorithmPerlin.java" rel="nofollow">http://trac.assembla.com/terrainium/browser/TerrainiumLatest...</a><p>perlinNoise() is the function to look at. I implemented it based on <a href="http://web.archive.org/web/20070706003038/http://www.cs.cmu.edu/~mzucker/code/perlin-noise-math-faq.html" rel="nofollow">http://web.archive.org/web/20070706003038/http://www.cs.cmu....</a> but the images are missing in the web archive :(