Source for demo by ONC. See also description.
with(document.body.children.c){width=height=330;C=getContext("2d")}D=C.getImageData(9,9,320,200);V=D.data;m=Math;mc=m.cos;ms=m.sin;j=0;o=.7;p=-.4;q=.8;w=.01;window.setInterval("for(i=0;i<63999;i++){a=(j+i/200)/180;d=i*4;c=mc(a);s=ms(a);V[d]=c*128+127;V[d+1]=s*128+127;V[d+2]=c*s*128+127;V[d+3]=255}k=j/99;for(u=0;u<57;u++){h=u/9;for(v=0;v<57;v++){g=v/9;t=60+20*mc(g);x=t*mc(h+k);y=t*ms(h+k)*mc(k/2);z=20*ms(g)*ms(k/2);x2=160+m.floor(o*(x-y));y2=100+m.floor(p*(x+y)+q*z);d=(y2*320+x2)*4;V[d]=V[d+1]=V[d+2]=V[d+3]=255}}C.putImageData(D,9,9);j+=2;q+=w;if(q>1.6||q<.8)w=-w",30)