Codice




var a=0;
var cicli=5000;
var x0=0.05;
var y0=-0.638;


function partenza( ){
          var tasto=$('julia');
          Event.observe(tasto,'click',tantevolte,false);
}


function tantevolte( ){
          var k=50;
          for(t=0;t<k;t++){
                    passo(a+t);
          }
          if(a<122500-k){
                    a+=k;
                    setTimeout(tantevolte,0);
          }
}


function passo(a){
          var f=(327*a)%122500;
          var y=f%350;
          var x=Math.floor(f/350);
          disegna(x,y);
}


function disegna(i,j){
          var zoom=1.5;
          var tela=$('julia');
          var context=tela.getContext('2d');
          var xgiusta=(i-175)/(82.5*zoom);
          var ygiusta=(190-j)/(82.5*zoom);
          var ascissa=ciclo(xgiusta,ygiusta);

          context.fillRect(i,j,1,1);
          if(Math.abs(ascissa)==cicli-1){
                    context.fillStyle='black';
          }else{
                    var rosso=Math.round(ascissa*6);
                    var verde=Math.round(ascissa*3);
                    var blu=Math.round(ascissa*1);
                    var colore='rgb('+rosso+','+verde+','+blu+')';
                    context.fillStyle=colore;
          }
          context.fill( );
}


function ciclo(x,y){
          var vettore=new Array(2*cicli);
          vettore[0]=x0;
          vettore[1]=y0;
          vettore[2]=xprimo(x,y);
          vettore[3]=yprimo(x,y);
          for(g=4;g<2*cicli-2;g+=2){
                    vettore[g]=xprimo(vettore[g-2],vettore[g-1]);
                    vettore[g+1]=yprimo(vettore[g-2],vettore[g-1]);
                    if(vettore[g]>2){
                              return(Math.round(g/2));
                              break;
                    }
          }
          return(cicli-1);
}


function xprimo(x,y){
          var nuovax=Math.pow(x,2)-Math.pow(y,2)+x0;
          return(nuovax);
}


function yprimo(x,y){
          var nuovay=2*x*y +y0;
          return(nuovay);
}


Event.observe(window,'load',partenza,false);

Licenza CC