Quadratspiralen

Aufgabe:
  1. Formuliere eine Methode quadrat(double Seite), die ein Quadrat gewünschter Seitenlänge zeichnet.
  2. Formuliere eine Methode spirale1(), die 36 Quadrate zeichnet, die um einen gemeinsamen Eckpunkt um 10 Grad gegeneinander gedreht wurden.
  3. Formuliere eine Methode spirale2(), die die Größe der Quadrate während des Drehens bis auf Null verkleinert.
  4. Formuliere eine Methode spirale3(), bei der sich während des Drehens die Größe des Quadrates und der Drehwinkel ändern.
  5. 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


Zur Übersicht