Perlin noise

Also see a screenshot from Gnash. The ActionScript (ming dialect) code is as follows:

BitmapData = flash.display.BitmapData;

var width = 4;
var x = 0;
var y = 0;

getClip = function(trans) {
    var c = _root.createEmptyMovieClip("mc" + (y * width + x),
        getNextHighestDepth());
    c._x = x * 100;
    c._y = y * 100;
    var bd = new BitmapData(100, 100, trans);
    c.attachBitmap(bd, 1);
    if (++x > width) { x = 0; ++y; };
    return bd;
};

var seed = 142;

getClip(true).perlinNoise(100, 100, 1, seed, false, false);
getClip(true).perlinNoise(100, 100, 2, seed, false, false);
getClip(true).perlinNoise(100, 100, 3, seed, false, false);
getClip(true).perlinNoise(100, 100, 4, seed, false, false);
getClip(true).perlinNoise(100, 100, 5, seed, false, false);

getClip(true).perlinNoise(100, 100, 1, seed, false, true);
getClip(true).perlinNoise(100, 100, 2, seed, false, true);
getClip(true).perlinNoise(100, 100, 3, seed, false, true);
getClip(true).perlinNoise(100, 100, 4, seed, false, true);
getClip(true).perlinNoise(100, 100, 5, seed, false, true);

getClip(true).perlinNoise(100, 100, 4, seed, false, true, 4);
getClip(true).perlinNoise(100, 100, 4, seed, false, true, 1);
getClip(true).perlinNoise(100, 100, 4, seed, false, true, 2);
getClip(true).perlinNoise(100, 100, 4, seed, false, true, 5);
getClip(true).perlinNoise(100, 100, 4, seed, false, true, 15);

getClip(true).perlinNoise(100, 100, 1, seed, false, false, 0, true);
getClip(true).perlinNoise(100, 100, 4, 43, false, false, 0, true);
getClip(true).perlinNoise(10, 10, 1, 44, false, false, 0, true);
getClip(true).perlinNoise(100, 100, 3, 45, false, true, 0, true);
getClip(true).perlinNoise(10, 500, 1, 46, false, false, 0, true);

seed *= 2;

getClip(true).perlinNoise(200, 200, 5, seed, false, false, 1);
getClip(true).perlinNoise(200, 200, 5, seed, false, false, 2);
getClip(true).perlinNoise(200, 200, 5, seed, false, false, 4);
getClip(true).perlinNoise(200, 200, 5, seed, false, false, 3);
getClip(true).perlinNoise(200, 200, 5, seed, false, false, 5);