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.
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 turtle
heiß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.
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)