Perlin clouds

A SWF created using only the following ActionScript (ming dialect). The moon could do with a bit of noise too! A screenshot is also available.

BitmapData = flash.display.BitmapData;

MovieClip.prototype.drawCircle = function(r, x, y) {

   this.moveTo(x + r, y);

   var segments = 8;
   var radians = Math.PI * 2 / segments;

   var a = Math.tan(Math.PI / segments); 

   for (var i = 0; i < segments; ++i) {
      var k = i + 1;
      var endx = r * Math.cos(k * radians);
      var endy = r * Math.sin(k * radians);
      var ax = endx + r * a * Math.cos((k * radians) - Math.PI / 2);
      var ay = endy + r * a * Math.sin((k * radians) - Math.PI / 2);
      this.curveTo(x + ax, y +  ay, x + endx, y + endy); 
   };
};

var w = 300;
var h = 300;

mc1 = _root.createEmptyMovieClip("mc1", 1); 
mc2 = _root.createEmptyMovieClip("mc1", 2); 

mc1.beginFill(0xaaaaff);
mc1.lineTo(w, 0);
mc1.lineTo(w, h);
mc1.lineTo(0, h);
mc1.endFill();

mc1.beginFill(0xeeeecc);
mc1.drawCircle(20, 210, 80);

bd2 = new BitmapData(400, 400, true);
mc2.attachBitmap(bd2, 4);
bd2.perlinNoise(256, 64, 5, 47, false, true, 8, true);