JS1K

#2: the original

Source for demo by Anthony Bowyer-Lowe.

C=document.getElementById('c');c=C.getContext('2d');t=u=1,S=Math.sin,C.width=C.height=M=0xff,m=M/2,d=c.getImageData(0,0,M,M),P=d.data;setInterval(function(){i=0;while(i<M*M){x=i%M-m,y=i/M-m,o=i++*4;P[o++]=P[o]-(x^y^u)&M;P[o++]=P[o]^(x^(t*y)^y*x^(x*u))&M;P[o++]=((x+y+t)^t/x*y^(y-x))&m;P[o]=M;};c.putImageData(d,0,0);u=t+++S(t*m)},30)