Quadratspiralen
Aufgabe:
- Formuliere eine Methode quadrat(double Seite), die ein Quadrat
gewünschter Seitenlänge zeichnet.
- Formuliere eine Methode spirale1(), die 36 Quadrate zeichnet, die
um einen gemeinsamen Eckpunkt um 10 Grad gegeneinander gedreht wurden.
- Formuliere eine Methode spirale2(), die die Größe der
Quadrate während des Drehens bis auf Null verkleinert.
- Formuliere eine Methode spirale3(), bei der sich während des Drehens
die Größe des Quadrates und der Drehwinkel ändern.
- Stelle alle drei Figuren nebeneinander in einem Applet dar.
Lösung zur Aufgabe:
Applet zur Aufgabe
import java.awt.*;
import java.applet.*;
public class Quadratspiralen extends Applet
{
Turtle t;
public void paint(Graphics g)
{
t = new Turtle(this,150, 150, 0);
zeichne();
}
void zeichne()
{
spirale1();
t.stiftHoch();
t.geheZu(400,150);
t.setzeRichtung(0);
t.stiftRunter();
spirale2();
t.stiftHoch();
t.geheZu(600,150);
t.setzeRichtung(0);
t.stiftRunter();
spirale3();
} // zeichne
void spirale1()
{
for (int i=1; i<=36; i++)
{
quadrat(100);
t.drehe(10);
}
} // spirale1
void spirale2()
{
for (int i=1; i<=36; i++)
{
quadrat(100*(1-i/36.0));
t.drehe(10);
}
} // spirale2
void spirale3()
{
for (int i=1; i<=36; i++)
{
quadrat(100*(1-i/36.0));
t.drehe(i);
}
} // spirale3
void quadrat(double seite)
{
for (int i=1; i<=4; i++)
{
t.vor(seite);
t.drehe(90);
}
} // quadrat
} // class Quadratspiralen