examples/script/context2d/scripts/translate.js
changeset 0 1918ee327afb
equal deleted inserted replaced
-1:000000000000 0:1918ee327afb
       
     1   var ctx = document.getElementById('tutorial').getContext('2d');
       
     2   ctx.fillRect(0,0,300,300);
       
     3   for (var i=0;i<3;i++) {
       
     4     for (var j=0;j<3;j++) {
       
     5       ctx.save();
       
     6       ctx.strokeStyle = "#9CFF00";
       
     7       ctx.translate(50+j*100,50+i*100);
       
     8       drawSpirograph(ctx,20*(j+2)/(j+1),-8*(i+3)/(i+1),10);
       
     9       ctx.restore();
       
    10     }
       
    11   }
       
    12 
       
    13 function drawSpirograph(ctx,R,r,O){
       
    14   var x1 = R-O;
       
    15   var y1 = 0;
       
    16   var i  = 1;
       
    17   ctx.beginPath();
       
    18   ctx.moveTo(x1,y1);
       
    19   do {
       
    20     if (i>20000) break;
       
    21     var x2 = (R+r)*Math.cos(i*Math.PI/72) - (r+O)*Math.cos(((R+r)/r)*(i*Math.PI/72))
       
    22     var y2 = (R+r)*Math.sin(i*Math.PI/72) - (r+O)*Math.sin(((R+r)/r)*(i*Math.PI/72))
       
    23     ctx.lineTo(x2,y2);
       
    24     x1 = x2;
       
    25     y1 = y2;
       
    26     i++;
       
    27   } while (x2 != R-O && y2 != 0 );
       
    28   ctx.stroke();
       
    29 }