public class Program{

public static void drawCircle(Turtle t, double radius, double x, double y, String color) {
   t.penColor(color);
   t.up(); t.setPosition(x , y + radius); t.down();
		for (int i = 0; i < 360; i++) {
			t.forward(radius * 2 * Math.PI / 360);
			t.right(1);
       }
}
public static void drawSquare(Turtle t, double size, double x, double y, double rotation, String color) {
    t.penColor(color);
	  t.up();
    t.setPosition(x - size/2, y + size/2);
    rotation = rotation % 90;
    double radius = Math.sqrt(2) * size / 2;
    if (rotation > 0 ) t.left(45);
	  for (int i = 0; i < rotation; i++) {
			t.forward(radius * 2 * Math.PI / 360);
			t.right(1);
       }
	  t.down();
    if (rotation > 0) t.right(45);
    int turn = 90;
    t.forward( size ); t.right( turn );
    t.forward( size ); t.right( turn );
    t.forward( size ); t.right( turn );
    t.forward( size ); t.right( turn );
    t.left( rotation );
}
public static void drawTriangle(Turtle t, double size, double x, double y, double rotation, String color) {
    t.penColor(color);
    t.up(); t.setPosition(x - size/2, y + Math.sqrt(3)*size/6);
    rotation = rotation % 120;
    double radius = size / Math.sqrt(3);
    if (rotation > 0) t.left(60);
    for (int i = 0; i < rotation; i++) {
      t.forward(radius*2*Math.PI / 360); t.right(1);
    }
    t.down(); if (rotation > 0) t.right(60); int turn = 120;
    t.forward(size); t.right(turn);
    t.forward(size); t.right(turn);
    t.forward(size); t.right(turn);
    t.left( rotation );
}
  public static void main(String[] args) {

    Turtle t = new Turtle();
    t.hide();
    t.speed(0);
    drawTriangle(t,30.,-84.8530951976,84.8525322862,0.,"black");
    drawTriangle(t,30.,-120.,-0.000318430775256,0.,"black");
    drawTriangle(t,30.,-84.8526448688,-84.8529826156,0.,"black");
    drawTriangle(t,30.,0.000159215387601,-120.,0.,"black");
    drawTriangle(t,30.,84.8528700335,-84.8527574512,0.,"black");
    drawTriangle(t,30.,120.,0.,0.,"black");
    drawTriangle(t,30.,84.8528700335,84.8527574512,0.,"black");
    drawTriangle(t,30.,0.000159215387601,120.,0.,"black");
    drawTriangle(t,30.,-56.5687301317,56.5683548575,0.,"black");
    drawTriangle(t,30.,-79.9999999997,-0.000212287183504,0.,"black");
    drawTriangle(t,30.,-56.5684299125,-56.5686550771,0.,"black");
    drawTriangle(t,30.,0.000106143591734,-79.9999999999,0.,"black");
    drawTriangle(t,30.,56.5685800223,-56.5685049675,0.,"black");
    drawTriangle(t,30.,80.,0.,0.,"black");
    drawTriangle(t,30.,56.5685800223,56.5685049675,0.,"black");
    drawTriangle(t,30.,0.000106143591734,79.9999999999,0.,"black");
  }

}
