Seminar/Manos

Aus ProgrammingWiki

Wiki-Quelltext dieser Seite.

<language>Java</language>
<h1>Der Baum des Phythagoras</h1>
[Bild:AnirahtaK_220px-Pythagorasergänzung.svg[1].png]
Man nehme seinen berühmten Satz über das Rechtwinkle Dreieck, und pflanze die Formel an einem Schattigen Platz, auf einer passende Sphäre. Wenn man nicht hinschaut beginnt ein baum zu wachsen:

<><>
<code hidden id="4f2005d3ab56b">
turtle.move(500,500);
canvas.clear();
turtle1.hide();
void quadrat(double n)
{for(int i=1;i<=4;i++)
      {turtle1.forward(n);
       turtle1.left(90);}}

void baum(int n, double s)
{if(n>0)
   {quadrat(s);
    turtle1.forward(s);
    turtle1.right(45);
    double sneu=Math.sqrt(0.5)*s;
    baum(n-1,sneu);
    turtle1.left(90);
    turtle1.forward(sneu);
    baum(n-1,sneu);
    turtle1.left(180);
    turtle1.forward(sneu);
    turtle1.right(45);
    turtle1.forward(s);
    turtle1.left(180);	}
 else {quadrat(s);}}baum(3,100);
</code>
<canvas w=1000 h=500></canvas>

Aufgaben:
Ändere den Quelltext Stück für Stück, um folgende zusätzliche Effekte zu erzeugen!
# Die Blätter des Baumes sollen grün sein.
# Der Baum soll Schritt für Schritt wachsen.
# Durch Rechtecke statt Quadrate wird das Bild natürlicher.
# Verwende rechtwinklige Dreiecke mit beliebigem Kathedenverhältnis. (Tip: Skizze, die neuen Seitenlängen der Teilbäume sind nun verschieden und lassen sich mit Math.sin() bzw. Math.cos() berechnen.)