Turtle

Aus ProgrammingWiki
Archivierte Version vom 2014-05-09T10:15:38+00:00. Aktuelle Version

Inhaltsverzeichnis

Wie zeichnet eine Turtle?

Wir stellen uns vor: Eine kleine Schildkröte (engl. turtle) besitzt am Bauch einen Zeichenstift und gehorcht aufs Wort!
Diese Schildkröte kann sich auf einer Spielwiese tummeln, die wir als Zeichenfläche (engl. canvas) bezeichnen.

Da es mehrere "schlaue" Schildkröten und mehrere Spielwiesen gibt, geben wir jeder Schildkröte und jeder Spielwiese eine Nummer.

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.
  • 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.


Turtle-Befehle

Die folgende Tabelle enthält die wesentlichsten Sprachelemente der Turtle-Grafik.

SyntaxSemantik
canvas.clear(); löscht die Zeichenfläche,
turtle.move(<x>,<y>); positioniert die Turtle in der Zeichenfläche,

x ... Spaltenkoordinate, y ... Zeilenkoordinate,
der Koordinatenursprung befindet sich in der linken oberen Ecke der Zeichenfläche,

turtle.forward(<x>); lässt die Turtle x Schritte vorwärts gehen,
turtle.backward(<x>); lässt die Turtle x Schritte zurück gehen,
turtle.right(<x>); dreht die Turtle um x Grad nach rechts,
turtle.left(<x>); dreht die Turtle um x Grad nach links,
turtle.penDown(); setzt den Stift ab, so dass Turtle-Bewegungen eine Spur hinterlassen,
turtle.penUp(); hebt den Stift an, so dass Turtle-Bewegungen keine Spur hinterlassen,
turtle.penWidth(<x>); setzt die Breite des Stiftes auf den Wert x,
turtle.penColor(<r>,<g>,<b>); legt den Fabwert des Stiftes fest,

mögliche Zahlenwerte für rot (r), grün (g) und blau (b) sind: 0 ... 255,

turtle.hide(); macht die Turtle unsichtbar,
turtle.show(); macht die Turtle sichtbar,
turtle.penErase(); die Turtle löscht eine gezeichnete Linie (wie ein Radiergummi),


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

Nikolaushaus

Ihr Browser unterstützt Canvas nicht.

Treppe

Ihr Browser unterstützt Canvas nicht.

Pentagramm

Rosette

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