import java.awt.*;
import java.applet.*;

public class PythagorasBaum extends Applet
{ 
  Turtle t;
  public void paint(Graphics g)
  {
    t = new Turtle(this,250, 280, 0);
    zeichne();
  }

  void zeichne()
  {
    t.drehe(90);
    zeichnePythagorasbaum(13, 50, 30);
  } // zeichne

  void quadrat(double seite)
  {  for (int i=1; i<=4; i++)
       {  t.vor(seite);
          t.drehe(-90);
       }
  }

  void zeichnePythagorasbaum(int stufe, double seite, double alpha)
  {  double katheteA=seite*Math.sin(alpha/180.0*Math.PI);
     double katheteB=seite*Math.cos(alpha/180.0*Math.PI);
     if (stufe>0)
          { quadrat(seite);     // Start links unten
            t.stiftHoch();      // mit Blick nach oben
            t.vor(seite);
            t.drehe(alpha);
            t.stiftRunter();     // linke obere Ecke
            zeichnePythagorasbaum(stufe-1, katheteB, alpha);
            t.stiftHoch();
            t.drehe(-90);
            t.vor(katheteB);
            t.stiftRunter();
            zeichnePythagorasbaum(stufe-1, katheteA, alpha);
            t.stiftHoch();
            t.drehe(-90);
            t.vor(katheteA);
            t.drehe(-alpha);    // rechte obere Ecke
            t.vor(seite);       // zurueck nach links unten
            t.drehe(-90);
            t.vor(seite);
            t.drehe(-90);
            t.stiftRunter();
          }
  } //zeichnePythagorasbaum

} // class PythagorasBaum

