Turtlegrafik (I)

Aus ProgrammingWiki

Inhaltsverzeichnis

Wie zeichnet die Turtle ein Quadrat effizient?

Auch hier können nochmals alle erforderlichen Turtle-Befehle nachgelesen werden.

Turtle1 auf Zeichenfläche1:

Ihr Browser unterstützt Canvas nicht.
 

Turtle2 auf Zeichenfläche2:

Ihr Browser unterstützt Canvas nicht.

Wir wollen die nachfolgenden Anweisungen ausführen und anschließend vergleichen.

 
 

Vergleichend stellen wir fest:

  • Die Darstellungen sind zunächst identisch.
  • Gleiche Anweisungen lassen sich in Wiederholungen (Zählschleifen) beliebig oft ausführen.

    Zählschleifen haben folgende Syntax:

    for (zaehler = von; zaehler <= bis; zaehler = zaehler + schrittweite) {
     //Anweisung(en)
    } 
    

    Bei einer Anweisung können die geschweiften Klammern entfallen.

  • Anweisungen können modularisiert, d.h. in Prozeduren unter einem geeigneten Bezeichner (Namen) zusammengfasst werden.
  • Prozeduren können Parameter (Platzhalter) haben, die z.B. Objekte in variabler Größe zeichnen lassen.


Vom Dreieck zum N-Eck

Ergänze zunächst die Prozedur zum Zeichnen eines gleichseitigen Dreiecks. Verallgemeinere dann die Lösung zur Darstellung regelmäßiger N-Ecke.

Gleichseitiges Dreieck:

 

Regelmäßiges N-Eck:

Ihr Browser unterstützt Canvas nicht.   Ihr Browser unterstützt Canvas nicht.
 

Prozeduren rufen Prozeduren auf

In einer Turtlegrafik können komplexe Figuren mit bereits definierten Prozeduren beschrieben werden. So lässt sich ein Haus aus 2 regelmäßigen N-Ecken zusammensetzen. Natürlich muss auch hier die Prozedur n_eck zuvor definiert werden.

Ihr Browser unterstützt Canvas nicht.  

Aufgaben

Die nachfolgenden Aufgaben sollen auf einer separaten Seite gelöst werden.

  1. Nikolaushaus1.GIF
    Das Haus des Nikolaus

    Nikolaushaus

    Das bekannte Nikolaushaus soll wieder in einem Zug gezeichnet werden, d.h. jede Kante wird wieder genau einmal durchlaufen. Die Ausgangsfigur soll aber ein Quadrat sein.
    Schreibe eine Prozedur, die das Nikolaushaus beginnend mit einem Quadrat in einer beliebiger Größe zeichnet.

  2. Treppe

    Zeichne mit einer entsprechenden Prozedur eine Treppe mit beliebiger Stufenzahl und beliebiger Sufenhöhe bzw. -breite (vgl. Abbildung).

    Treppe_Pentagramm1.gif
  3. Rosette1.gif
    Rosette mit regelmäßigen Fünfecken

    Pentagramm

    Die Turtle soll ein Pentagramm (Stern mit 5 Spitzen - vgl. Abbildung) zeichnen.
    Überlege dazu, welche Winkel zuvor berechnet werden müssen.
    Hinweis: Die Spitzen des Pentagramms schließen ein Pentagon (regelmäßiges Fünfeck) ein.

  4. Rosetten

    Wenn einfache regelmäßige N-Ecke mehrfach gezeichnet werden und sich dabei die Turtle nach jedem N-Eck ein Stück weiter dreht, können schöne Rosetten generiert werden.
    Entwickle eine Prozedur, die derartige Grafiken farbig erstellt.

  5. Quadrat-Raster

    Entwickle eine Prozedur, die ein quadratisches Raster in beliebiger Größe zeichnet. Dabei soll die Anzahl der Quadrate in einer Spalte und in einer Zeile gleich sein (vgl. Abbildung).

    Raster1.gif

Zu den Lösungen der Aufgaben.