Actionscript:
- 
var canvas:BitmapData = new BitmapData(1000,1000,false, 0x000000);
 - 
addChild(new Bitmap(canvas));
 - 
scaleX = scaleY = .5;
 - 
 - 
var w:int = canvas.width;
 - 
var w10:int = w * 60;
 - 
var size:int = canvas.width * canvas.height;
 - 
for (var i:int = 0; i<size; i++){
 - 
var xp:int = i % w;
 - 
 - 
var yp:int = int(i / w);
 - 
var c1:int = (255/8) * (Math.cos(xp* Math.PI/180 * 2) + Math.sin(yp*yp/w10));
 - 
if (c1 <0) c1 = 256 - c1;
 - 
c1 = (c1 <<1 | c1) ;
 - 
canvas.setPixel(xp, yp, c1 <<16 | c1 <<8 | c1 );
 - 
}
 - 
var m:Matrix = new Matrix();
 - 
m.scale(1,-1);
 - 
m.translate(0,canvas.height);
 - 
var clone:BitmapData = canvas.clone();
 - 
canvas.draw(clone, m, null, BlendMode.SUBTRACT);
 - 
clone.draw(canvas);
 - 
clone.applyFilter(clone, clone.rect, new Point(0,0), new BlurFilter(10,10,1));
 - 
canvas.draw(clone, null, null, BlendMode.ADD);
 
Having one of those days where everything I code doesn't look right to me... took a little break from other work and created this very unoptimized abstract texture... no animation so here is a bitmap:
