All checks were successful
wiai.de deployment / build (push) Successful in 1m14s
3.2 KiB
3.2 KiB
🐢
Turtle Graphics
Einführung in die Schildkrötenwelt
🖌
- Turtle: englisch für Schildkröte
- vorhandener Baustein in Python
- Prinzip eines programmierbaren Pinsels: es wird eine Schildkröte bewegt, die Linien zieht
Note:
- Vorteil: man kann mit wenig Aufwand Zeichenschritte sehr oft hintereinander wiederholen lassen (z. B. fünzig Kreise zeichnen)
- Ursprung: vor vierzig Jahren hat ein Mathematiker sich diese Grafiken ausgedacht, wahrscheinlich weil es toll fand wie sich Schildkröten bewegen und wie sie dabei Spuren im Sand hinterlassen
Lasst die Schildkröten frei!
# Schildkrötenwelt laden
from turtle import *
# Aussehen festlegen
shape("turtle")
Note:
- Diese Befehle werden immer gebraucht, um mit der Schildkröte malen zu können
- Raute, "Gatter", "Gartenzaun": Leitet Kommentar ein (alls dahinter wird vom Compiler ignoriert)
Die leere Schildkrötenwelt
Beispiel
# Schildkrötenwelt laden
from turtle import *
# Aussehen festlegen
shape("turtle")
# 100 Schritte nach vorn gehen
forward(100)
Befehle (1)
-
50 Schritte geradeaus gehen:
forward(50) -
50 Schritte zurück gehen:
backward(50) -
Um 90° nach links drehen:
left(90) -
Um 90° nach rechts drehen:
right(90)
Note:
- Zahlen bei forward() haben andere Bedeutung (Semantik) als bei left() und right()
Achtung, Drehwurm!
Befehle (2)
- Schildkröte **auf Startpunkt** (Koordinatenursprung) zurücksetzen:
home()
- Einen Schritt **rückgängig** machen:
undo()
- Zeichnung leeren und Position der Schildkröte **zurücksetzen**:
reset()
Aufgabe 1
Ein Quadrat malen
- Verwendet die Befehle, um die Welt für die Schildkröte zu laden:
from turtle import *
shape("turtle")
- Nutzt die Befehle `forward(`Schritte`)`, `left(`Winkel`)` oder `right(`Winkel`)`, um ein Quadrat zu zeichnen. Ersetzt dabei Schritte und Winkel durch eine beliebige Zahl.
Note:
- was ist ein Quadrat? Was macht ein Quadrat aus?
- weiterführende Aufgabe: Rechteck, mehrere Vierecke ineinander verschachteln (immer wieder zu home() zurückkehren und verschiedene Seitenlängen ausprobieren)
Lösungsbeispiel
from turtle import *
shape("turtle")
forward(100)
left(90)
forward(100)
left(90)
forward(100)
left(90)
forward(100)
done()
Note:
- Frage: Was verändert sich, wenn man right(90) statt left(90) verwendet?
