33 Javasript: Sierpinski.


Per affrontare questa scheda è necessario aver finito la Scheda 31. In particolare è necessario avere 3 punti che viaggiano e rimbalzano sui bordi dello schermo. Vi servirà anche la funzione triangolo.


Sierpinski. Create le seguenti funzioni:

function media(a,b) {

return (a+b)/2;

}

function distanza(x1,y1,x2,y2) {

return Math.sqrt( (x1-x2)*(x1-x2) + (y1-y2)*(y1-y2) );

}


Attenzione!! var è necessario in questo caso!!!


function sierpinski(x1,y1, x2,y2, x3,y3) {

var mx1 = media(x1,x2);

var my1 = media(y1,y2);

var mx2 = media(x2,x3);

var my2 = media(y2,y3);

var mx3 = media(x3,x1);

var my3 = media(y3,y1);

triangolo(mx1,my1, mx2,my2, mx3,my3);


if( distanza(x1,y1,x2,y2)>20 ) {

sierpinski(x1,y1,mx1,my1,mx3,my3);

sierpinski(mx1,my1,x2,y2,mx2,my2);

sierpinski(mx3,my3,mx2,my2,x3,y3);

}

}


Nella funzione animazione(), dopo la chiamata alla funzione aggiornaPosizione(),

aggiungi la chiamata alla funzione

triangolo(x1,y1,x2,y2,x3,y3);

per disegnare il triangolo principale e poi aggiungi la chiamata alla funzione sierpinski(x1,y1,x2,y2,x3,y3);