Beispiel für makePolygon()
==========================
ScriptBegin
var Grafik = "Script Escher"


var x0=-120; y0=-200; // Anfangspunkt
    w=13;             // Drehwinkel



function init()
{ t.setBrush("gray");       
  t.setPage();
  t.setAntiAliasing();
}

var a=-0.6;
function morphX(x,y)
{return  a*x*(Math.cos(y/90) - 1.8);
}

function morphY(x,y)
{ return a*y*(Math.sin(x/85) + 1.5);
}



function defFliese()
{ t.setNoStyle();
  t.goTo(0,0); t.turnTo(0);
  t.rectPolygon(30,30);
  t.setPen("black");  
  t.setBrush("#ba9a7a");  
  t.defDraw("Fliese");

  t.setNoStyle();
  t.goTo(-2,-10); t.turnTo(35);
  t.rectPolygon(70,9);
  t.setBrush("red");  
  t.setPen("black");  
  t.defDraw("Fliese",2);

  t.setNoStyle();
  t.goTo(33,-10); t.turnTo(130);
  t.rectPolygon(70,7,1);
  t.setBrush("white");  

  t.setPen("black");  
  t.defDraw("Fliese",2);

  t.setNoStyle();
  t.goTo(-10,-5); t.turnTo(50);
  t.rectPolygon(70,4,1);
  t.setBrush("lightblue");  
  t.setPen("black");  
  t.defDraw("Fliese",2);

  t.setNoStyle();
  t.goTo(30,21); t.turnTo(45);
  t.rectPolygon(15,15,1);
  t.setPen("black");  
  t.setBrush("lightgreen");  
  t.defDraw("Fliese",2);

  t.setNoStyle(); t.goTo(0,0); t.turnTo(0);
}


function morphShow(w)
{ 
  t.setRotate(w);
  t.setScale(0.5,0.5,false);
  t.morphDraw("Fliese");

  t.setScale(1,-1,false);
  t.morphDraw("Fliese");

  t.setScale(-1,1,false);
  t.morphDraw("Fliese");

  t.setScale(1,-1,false);
  t.morphDraw("Fliese");
}


function pflaster()
{ t.turnTo(w);
  t.goTo(0,33); t.defPoint("ShiftX"); // Schiebvektoren
  t.goTo(33,0); t.defPoint("ShiftY");

  for(j=2; j<12;j++)
  {
    t.goTo(x0,y0); t.shift("ShiftY",j);
    
    for(i=1; i<11;i++)
    { morphShow(w);  t.shift("ShiftX",1);
    }  
   }
}



function draw()
{ //t.drawKoordSystem();
  //t.drawRaster();
  
  defFliese();  //t.draw("Fliese"); t.msgDraw();
  t.refineDraw("Fliese",0.8);
 
  pflaster()  
}

ScriptEnd
----------------------------------------------
