Grafik mit Koordinaten
Und da wir schon bei Listen sind, kommen wir gleich mal zu den neuen Befehlen mit Koordinaten. Die Turtle kann sich nicht nur eine bestimmte Weite vorwärtsbewegen und drehen, sondern sie kann auch ganz gezielt auf bestimmte Punkte im Fenster gesetzt werden oder sich zu ihnen bewegen. Diese Punkte werden mit Koordinaten angegeben, also x-Position (horizontal) und y-Position (vertikal). Der Ursprung der Koordinaten (also die Koordinate 0,0) ist normalerweise genau in der Mitte des Fensters. Alles rechts davon hat einen positiven x-Wert, alles links davon einen negativen. Alles darüber hat einen positiven y-Wert, alles darunter einen negativen.
Abbildung 12.9 So muss man sich die Koordinaten im Turtle-Playground etwa vorstellen. Die Schildkröte steht hier auf 200,200.
Mit dem Befehl
wird die Turtle also genau in die Mitte des Fensters gesetzt.
Mit setPos(200,200) geht sie in das rechte obere Viertel.
Beim Standardfenster des Turtle Playground ist die Zeichenfläche genau 800 Pixel breit und 600 Pixel hoch. Die Koordinaten des sichtbaren Bereichs gehen also von –400 bis 400 (x-Wert) und von –300 bis 300 (y-Wert).
Die x-Achse und y-Achse kann man schnell und gut per Python zeichnen:
from gturtle import *
makeTurtle()
hideTurtle()
setPenColor("black")
setPos(-400,0)
moveTo(400,0)
setPos(0,-300)
moveTo(0,300)
Mit diesem kleinen Programm erscheint das Koordinatenkreuz blitzschnell in Schwarz im Fenster der Turtle.
Jetzt könnte man natürlich auch beliebige Figuren zeichnen, indem man nacheinander die Koordinaten eingibt, zu denen die Turtle wandern soll. Auch dafür ist eine Liste sehr praktisch, damit man nicht hundert Befehle untereinanderschreiben muss. Da wir aber für jeden Punkt zwei Koordinaten brauchen (x und y), empfiehlt sich hier eine Liste, die wiederum aus Minilisten (Koordinatenpaaren) besteht.
Probiere das mal aus:
from gturtle import *
makeTurtle("grey")
setPos(-100,-200)
figur = [ [100,0],[-100,0],[100,-200],[-100,-200],[-100,0],[0,150],[100,0],[100,-200] ]
for koord in figur:
moveTo(koord[0],koord[1])
Die Koordinaten der einzelnen Punkte stehen alle in der Liste, die dann einfach Element für Element mit der Variable koord abgearbeitet wird. Da jede Koordinate selbst wieder eine Liste ist, steht also die x-Position der Koordinate jeweils in koord[0] und die y-Position in koord[1].
Und was kommt heraus? Eine wohlbekannte Figur:
Abbildung 12.10 Malen nach Koordinaten – das ist das Haus …
Du kannst gerne experimentieren und diesem Programm eine andere Stiftfarbe, Stiftgröße und was immer du möchtest hinzufügen.