i

Exkurs - Turtle-Grafik

Steuerung einer Schildkröte

Turtle-Grafik basiert auf der Vorstellung, dass eine Schildkröte mit bestimmten Anweisungen auf einer Zeichenfläche bewegt wird und dass die Schildkröte dabei eine Spur hinterlässt.

Turtle

Typische Anweisungen zur Steuerung der Schildkröte sind:

  • stift_hoch
  • stift_runter
  • gehe_vorwaerts(betrag)
  • gehe_rueckwaerts(betrag)
  • drehe_dich_nach_links(winkel)
  • drehe_dich_nach_rechts(winkel)
  • gehe_zu_punkt(punkt)
  • ...

Mit Hilfe solcher Anweisungen lässt sich z. B. ein Quadrat wie folgt zeichnen:

ALGORITHMUS zeichne_Quadrat(laenge):
    wiederhole 4 mal:
        gehe_vorwaerts(laenge)
        drehe_dich_nach_links(90)

Implementierung in Python

Das Modul turtle stellt verschiedene Funktionen bereit, mit denen man den oben gezeigten Algorithmus zum Zeichnen eines Quadrates wie folgt implementieren kann.

Da das Modul schon turtleheißt, solltest Du deiner Datei einen anderen Namen geben (also nicht turtle.py).

from turtle import *
# Deklaration einer Zeichenprozedur
def quadrat(laenge):
    for i in range(4):
        forward(laenge)
        left(90)
# Test der Zeichenprozedur
quadrat(100)

Bei der Ausführung des Programms wird ein Quadrat in einem Zeichenfenster erzeugt. Beachte, dass die Schildkröte durch ein Dreieck schematisiert dargestellt wird.

Quadrat

Wichtige Funktionen, welche die Turtle steuern, sind u.a. folgende:

  • forward(laenge)
  • backward(laenge)
  • right(winkel)
  • left(winkel)
  • up()
  • down()
  • goto(x,y)

Zusätzliche Informationen zu Farben, Abkürzungen etc. findest Du in der offiziellen Dokumentation zum turtle-Modul. Du benötigst diese aber nicht, um die folgenden Aufgaben zu lösen.

Aufgabe 1

Teste die Turtle-Grafik von Python. Benutze den Befehl bye() um das Zeichenfenster zu schließen.

Aufgabe 2

Ergänze auch die folgende Implementierung des rekursiven Algorithmus zum Zeichnen eines Baumes.

from turtle import *
# Deklaration einer Zeichenprozedur
def baum(stamm):
    if ...:
        forward(stamm)
        ...
# Test der Zeichenprozedur
left(90)
baum(200)

Suche

v
2.2.2.2
inf-schule.de/algorithmen/rekursivealgorithmen/selbstaehnlichkeit/exkurs_turtlegrafik
inf-schule.de/2.2.2.2
inf-schule.de/@/page/G5qSyaWIuIQdzub8

Rückmeldung geben