Pflasterung vom M3 Typ 9
Basis KIEPERT-Dreieck
Gleichseitiges Dreieck (r) und Punkt X

Konstruktion siehe Script #2
====================================

ScriptBegin
var Grafik = "Script Turtle"

var c=20;            // Strecke AB 
    wb=59;           // Winkel AB,BC (59  ,79 )
    a=0.80*c;         // Strecke BC   (0.78, 1 )
 
    x0=0; y0=0;
    w=33;
    maxi=4; maxj=4;


    HilfC  ="black"; 
    RandC  ="#252525";
    RandW  =0.3;
    Fill0  ="yellow";
    Fill1  ="gold";"yellowgreen";
    Fill2  ="orange";"lightblue";
    Fillp  ="gold";//"darkorange";//


function init()
{ t.setBrush("black");       
  t.setPage();
  t.setAntiAliasing();
  t.call("Parameter"); t.clrDraw("Parameter")
}

function draw()
{ //t.drawKoordSystem();

  defBefehle();
  defFliesen(); 
//drawTest();
  pflaster();  
  t.setPen(); t.rahmen(); 
}


function defBefehle()
{   
  t.setNoStyle();  
  t.goTo(0,0);t.turnTo(30);

  t.trianglePolygon(c,wb,a);  
  t.setBrush("yellow",1,40); t.setPen("black");
  t.defDraw("Dreieck");
  t.defPoint("A",0); t.defPoint("B",1);
  t.defPoint("C",2);

  t.turnTo(0); t.setPen("red",0); 
  t.defLine("AXB","A","B");
  t.defLine("BXC","B","C");
  t.defLine("CXA","C","A");

  t.setNoStyle();  
  t.beginPolygon();
  t.goTo(0,0); t.move(50);t.turn(60);t.move(50);
  t.endPolygon(3); 
  t.setPen();
  t.defDraw("AXB",3);
  t.defDraw("BXC",3);
  t.defDraw("CXA",3);

  t.setPen("black",0);
  t.setPolygon("AXB"); t.defPoint("X3",1);
  t.setPolygon("BXC"); t.defPoint("X1",1);
  t.setPolygon("CXA") ;t.defPoint("X2",1);

  //t.goTo(0,0);t.turnTo(0);

  t.setPen("red",0.5);
  t.defLine("BX1","B","X1"); t.defLine("X1C","X1","C");
  defBX1(); t.defDraw("BX1",3);
  t.setRotate("C",120);  t.setPolygon(-1);
  t.defDraw("X1C",3);

  t.setPen("green",0.5);
  t.defLine("CX2","C","X2"); t.defLine("X2A","X2","A");
  defCX2(); t.defDraw("CX2",3);
  t.setRotate("C",120); t.setPolygon(-1);
  t.defDraw("X2A",3);

  t.setPen("blue",0.5);
  t.defLine("AX3","A","X3"); t.defLine("X3B","X3","B");
  defAX3(); t.defDraw("AX3",3);
  t.setRotate("C",120); t.setPolygon(-1);
  t.defDraw("X3B",3);


  t.setNoStyle();  
  t.goTo("B"); t.turnTo("C"); t.turn(-60); t.move(a);
  t.setPen("black",0); t.defPoint("A1");
  t.defVector("ShiftA","A","A1");

  t.setNoStyle();  
  t.goTo("A"); t.turnTo("B"); t.turn(-60); t.move(c);
  t.setPen("black",0); t.defPoint("C1");
  t.defVector("ShiftC","C","C1");
}


function defBX1()
{t.setNoStyle();
 t.beginPolygon();
 t.goTo(28.5788,16.5);
 t.moveTo(26.6476,17.3616);
 t.moveTo(25.0667,15.0311);
 t.moveTo(21.1379,9.1477);
 t.moveTo(13,14);
 t.moveTo(14,23);
 t.moveTo(19,26);
 t.moveTo(23,20);
 t.moveTo(25.0734,23.8607);
 t.moveTo(24,27);
 t.moveTo(26.059,29.7464);
 t.moveTo(23.1166,30.7297);
 t.endPolygon(3);
 t.splinePolygon();
}


function defCX2()
{t.setNoStyle();
 t.beginPolygon();
 t.goTo(-20,0);
 t.moveTo(-13,8);
 t.moveTo(-2,17);
 t.moveTo(1,14);
 t.moveTo(-7,5);
 t.moveTo(-3,-5);
 t.moveTo(-4,-12);
 t.moveTo(10,-8);
 t.moveTo(11,-1);
 t.moveTo(21,-15);
 t.moveTo(22,-10);
 t.moveTo(20,0);
 t.endPolygon(3);
 //t.splinePolygon();
}


function defAX3()
{t.setNoStyle();
 t.beginPolygon();
 t.goTo(0,0);
 t.moveTo(5,6);
 t.moveTo(9,5);
 t.moveTo(13,-3);
 t.moveTo(15.7184,-4.28683);
 t.moveTo(16.1947,-8.57365);
 t.moveTo(20.0052,-8.09734);
 t.moveTo(21,-4);
 t.moveTo(19.0526,-3.54415e-15);
 t.endPolygon(3);
 t.splinePolygon();
}




function defFliesen()
{ t.goTo(0,0); t.setPen(RandC,RandW);  

  t.beginPolygon();
  t.addPolygon("X1C");
  t.addPolygon("CX2"); t.addPolygon("X2A");
  t.addPolygon("AX3"); t.addPolygon("X3B");
  t.addPolygon("BX1"); 
  t.endPolygon();
//  t.setBrush(Fill0); 
  t.setGradient(-20,-20,25,25,Fill0,"gray");
  t.setBrush("",15); 
  t.setPen(); t.defDraw("Fliese0");

  t.setRotate(120);
  t.setPolygon();
//  t.setBrush(Fill1); 
  t.setGradient(-20,-20,15,15,Fill1,"crimson");
  t.setBrush("",15); 
  t.setPen(); t.defDraw("Fliese1");

  t.setPolygon();
//  t.setBrush(Fill2);
  t.setGradient(-20,-20,15,15,Fill2,"dimgray");
  t.setBrush("",15); 
  t.setPen(); t.defDraw("Fliese2");

  t.setIdentity();
}



function pflaster()
{
  t.setNoStyle(); t.turnTo(w); 
  //t.setGradient(-20,-20,20,20,"yellow","white");
  t.setBrush("",1); 

  for(j=-maxj; j<=maxj; j++)
  { t.goTo(x0,y0); 
    t.shift("ShiftA",j); t.shift("ShiftC",-maxi);

    for(i=-maxi; i<=maxi; i++)
    { t.draw("Fliese0"); t.draw("Fliese1");
      t.draw("Fliese2");
      t.shift("ShiftC");
    }  
  }
}


function drawTest()
{ t.goTo(0,0); t.turnTo(0); t.setIdentity();
  t.draw("Dreieck");
  t.draw("AB");t.draw("BC"); t.draw("CA");
  t.draw("A");  t.draw("B");  t.draw("C");
  t.draw("X1"); t.draw("X2"); t.draw("X3");
  t.draw("A1"); t.draw("C1"); 

  t.draw("BX1"); t.draw("X1C"); 
  t.draw("CX2"); t.draw("X2A"); 
  t.draw("AX3"); t.draw("X3B"); 

  t.goTo(80,0); 
  t.draw("Fliese0"); t.draw("Fliese1"); t.draw("Fliese2");
}


ScriptEnd#1

=================================================
Konstruktion 

"Parameter" einstellen
=================================================

ScriptBegin
var Grafik="Script Turtle";

function init() //Initialisierungen
{
  t.defCall("Parameter","c=28; wb=79; a=0.80*c;");

  if (t.defScript("M39a","./Pflaster09a.txt"))
   { t.clrDraw("M39a"); t.clrDraw("Parameter");}
 
  t.setPage(-60,50,6); 

  t.goTo(0,0); t.defPoint("O");
  t.setPen("green",0.15,2);
  t.defLine("SchiebungA","A","A1");
  t.defLine("SchiebungC","C","C1");
  t.setAntiAliasing();
} 

function Konstruktion()
{ x0=15; y0=-27;
  t.setTranslate(x0,y0); t.turnTo(0); t.goTo(0,0);

  t.goTo("X1");
  t.setPen("black",0,1);
  t.setBrush("blue",1,40);  t.draw("Fliese0",false);
  t.setBrush("red",1,40);   t.draw("Fliese1",false); 
  t.setBrush("green",1,40); t.draw("Fliese2",false);

  t.goTo(0,0);
  t.draw("A"); t.draw("B"); t.draw("C"); 
  t.draw("X1"); t.draw("X2"); t.draw("X3");
  t.draw("A1"); t.draw("C1");
  t.draw("Dreieck"); 

  t.draw("AXB"); t.draw("BXC"); t.draw("CXA");
  
  t.draw("BX1"); t.draw("X1C"); 
  t.draw("CX2"); t.draw("X2A");
  t.draw("AX3"); t.draw("X3B");

  t.setFont("Courier",1.8,false,40);
  t.drawName("A",0,-2.5);
  t.drawName("X3",2,0);
  t.drawName("B",1.4,-1.5);
  t.drawName("X1",2.2,1);
  t.drawName("C",2,-2.2);
  t.drawName("X2",-2.2,-2.2);
  t.drawName("A1",-1.2,1.2);
  t.drawName("C1",-2.2,0.2);
 
  t.setNoStyle();
  t.draw("SchiebungA");
  t.draw("SchiebungC");
  t.shift("ShiftC"); t.draw("Dreieck"); 
  t.shift("ShiftA"); t.draw("Dreieck"); 
  t.shift("ShiftC",-1); t.draw("Dreieck"); 
  t.shift("ShiftC",-1); t.draw("Dreieck"); 
  t.shift("ShiftA",-1); t.draw("Dreieck"); 

  t.setPen("black"); t.setFont("Courier",1.8,false,40);
  t.text(-45,10,40,-30,
"Pflasterung Gruppe M3 Typ9\n\n\
  1. Beliebiges Dreieck ABC (c,wb,a) wählen\n\
  2. Gleichschenklige Dreiecke\n\
     AX3B, BX1C und CX2A anfügen\n\
  3. Die Kurven BX1 rot, CX2 grün\n\
     und AX3 blau wählen\n\
");
}

function draw() //Zeichenbefehle
{// t.drawKoordSystem(); t.drawRaster();
  t.clrMsg();
  t.msg("Pflasterung M3, Typ 9","blue");
  t.msg("Konstruktion","blue");
  t.msgDraw("ShiftC");
  Konstruktion();
}
ScriptEnd#2
