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

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

ScriptBegin
var Grafik = "Script Turtle"

var r=10;            // Radius, 15 
    x=-13;  y=8;     // Punkt X, (-13,8)
    x0=-20; y0=-140; // Anfangspunkt
 
    HilfC  ="black"; 
    RandC  ="#252525";
    RandW  =0.5;
    Fill0  ="orange";
    Fill1  ="yellowgreen";
    Fill2  ="lightblue";
    Fillp  ="gold";//"darkorange";//


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

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

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


function defBefehle()
{   
  t.setNoStyle();
  t.turnTo(-150); t.isoPolygon(r,3); 
  t.setBrush("yellow",1,40); t.setPen("black");
  t.defDraw("Dreieck");
  t.defPoint("A",0); t.defPoint("B",1);
  t.defPoint("C",2);
  
  t.defPoint("Hc","A","B",0.5);
  t.defPoint("Ha","B","C",0.5);

  t.goTo(x,y);  t.defPoint("X");
  
  t.setPen("red",0.5); t.defLine("AX","A","X");
  defAX(); t.defDraw("AX",3);

  t.setPen("blue",0.5); t.defLine("BX","B","X");
  defBX(); t.defDraw("BX",3);

  t.setPen("green",0.5); t.defLine("CX","C","X");
  defCX(); t.defDraw("CX",3);

  t.setPen("green",0.5);
  t.defVector("ShiftA","A","Ha",2);
  t.defVector("ShiftC","Hc","C",2);
}


function defAX()
{ a=2*r*Math.sqrt(3/4);
  t.setNoStyle();
  t.beginPolygon();
  t.moveTo("A");  t.turnTo(37); t.move(0.38*a); 
  t.turn(-135); t.move(0.6*a);
  t.turn(38); t.move(0.8*a);
  t.endPolygon(3);
  t.splinePolygon(); 
}

function defBX()
{ a=2*r*Math.sqrt(3/4);
  t.setNoStyle();
  t.beginPolygon();
  t.moveTo("B"); t.turnTo(75); t.move(0.3*a);
  t.moveTo("X");
  t.endPolygon(3);
  t.splinePolygon(); 
}

function defCX()
{ a=2*r*Math.sqrt(3/4);
  t.setNoStyle();
  t.moveTo("C"); t.turnTo(-145); t.move(0.4*a); t.moveTo("X");
  t.endPolygon(3);
  t.setPen("blue",0.5);
  t.splinePolygon();
}

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

  t.beginPolygon();
  t.addPolygon("CX"); t.addPolygon("BX",-1);
  t.setRotate(-120); 
  t.addPolygon("BX"); t.addPolygon("AX",-1),  
  t.setRotate(120); 
  t.addPolygon("AX"); t.addPolygon("CX",-1);
  t.endPolygon();
  t.setBrush(Fill0); t.setPen(); t.defDraw("Fliese0");
 
  t.setRotate(120);
  t.setPolygon();
  t.setBrush(Fill1); t.setPen(); t.defDraw("Fliese1");

  t.setPolygon();
  t.setBrush(Fill2); t.setPen(); t.defDraw("Fliese2");

  t.setIdentity();
}



function pflaster()
{
  t.setNoStyle(); t.turnTo(-15); 

  for(j=-8; j<=8; j++)
  { t.goTo(x0,y0);
    t.shift("ShiftA",j);
 
    for(i=-4; i<9;i++)
    { t.draw("Fliese0");t.draw("Fliese1");t.draw("Fliese2");
      t.shift("ShiftC");
    }  
  }
}


function drawTest()
{ t.goTo(0,0); t.turnTo(0);
  t.draw("Dreieck");
  t.draw("A"); t.draw("B"); t.draw("C"); t.draw("X");
  
  t.goTo(60,0); 
  t.draw("Fliese0"); t.draw("Fliese1"); t.draw("Fliese2");
}


ScriptEnd#1

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

ScriptBegin
var Grafik="Script Turtle";

function init() //Initialisierungen
{ t.defScript("M39","./Pflaster09.txt");
  t.setPage(-60,50,6); 

  t.goTo(0,0); t.defPoint("O");
  t.setPen("green",0,1);
  t.defLine("ShiftOA","O","ShiftA");
  t.defLine("ShiftOC","O","ShiftC");
} 

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

  t.goTo("C");
  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("Ha"); t.draw("Hc"); t.draw("X");
  t.draw("Dreieck"); 

  t.draw("AX"); t.draw("BX"); t.draw("CX");
  
  t.setFont("Courier",1.8,false,40);
  t.drawName("A",2,-2.5);
  t.drawName("Hc",-0.2,-2.5);
  t.drawName("B",-1.2,-2.5);
  t.drawName("Ha",2.2,1);
  t.drawName("C",2,-2.2);
  t.drawName("X",-2.2,0.2);
 
  t.goTo("C");
  t.draw("ShiftOA"); t.draw("ShiftA");
  
  t.draw("ShiftOC"); t.draw("ShiftC");
  t.drawName("ShiftC",2.3,-1);
  t.drawName("ShiftA",2.3,-1);
  t.setNoStyle(); t.shift("ShiftC");
  t.setBrush("gray",1,15); t.setPen("gray",0);
  t.draw("Fliese0",false);
  t.draw("Fliese1",false);
  t.draw("Fliese2",false);

  t.setPen("black"); t.setFont("Courier",1.8,false,40);
  t.text(-45,10,40,-10,
"Pflasterung Gruppe M3 Typ9\n\n\
Frei gewählt:\n\
  1. Gleichseitiges Dreieck ABC (r)\n\
  2. X und die Kurven rot, blau, grün\n\
");
}

function draw() //Zeichenbefehle
{// t.drawKoordSystem(); t.drawRaster();
  t.clrMsg();
  t.msg("Pflasterung M3, Typ 9","blue");
  t.msg("Konstruktion","blue");
  Konstruktion();

}
ScriptEnd#2

