canvas = document.getElementById("canvas");
context = canvas.getContext("2d");
bmd = canvas.bitmapData;
function dist(a, b, c, d) {
return Math.sqrt(((a - c) * (a - c) + (b - d) * (b - d)));
}
setInterval(function(){
time = new Date().getTime()/50;
for(y=0; y<bmd.height; y++) {
for(x=0; x<bmd.width; x++) {
rgb = Math.sin(dist(x+time, y, 128.0, 128.0) / 8.0)
+ Math.sin(dist(x, y, 64.0, 64.0) / 8.0)
+ Math.sin(dist(x, y+time/7, 192.0, 64) / 7.0)
+ Math.sin(dist(x, y, 192.0, 100.0) / 8.0);
c = parseInt(4+rgb)*32;
bmd.setPixel(x, y, c<<16 | (c*2)<<8 | 255-c);
}
}
context.putImageData(bmd.data, 0, 0);
}, 10);