Jython HomeDruckenJava-Online

Einfaches Zeichnen


Die Turtle kann sich in einem Grafikfenster bewegen und zeichnen.
Um die Turtle zu bewegen, verwendet man folgende Befehle:


forward(s)

back(s)

right(w)

left(w)

home()

s Schritte (in Pixel) vorwärts bewegen

s Schritte rückwärts bewegen

Um den Winkel w (in Grad) nach rechts drehen

Um den Winkel w nach links drehen

Turtle wird in die Mitte des Fensters versetzt


Die Turtlebefehle sind in einer Datei (Klassenbibliothek) gturtle gespeichert. Mit import werden sie zur Verfügung gestellt.
Der Befehl makeTurtle() erzeugt ein Fenster mit einer Turtle.

 

Beispiel 1: Die Turtle zeichnet eine Treppe

# Tu1a.py

from gturtle import *

john = Turtle()

john.forward(30)
john.right(90)
john.forward(30)
john.left(90)
john.forward(30)
john.right(90)
john.forward(30)
Programmcode markieren (Ctrl+C kopieren, Ctrl+V einfügen)

 

Erklärungen zum Programmcode:

Kommentare werden mir # eingeleitet. Man kann sich z. Bsp. notieren, unter welchem Namen das Programm gespeichert ist
Gross-/Kleinschreibung muss in Python beachtet werden. Schlüsselwörter und Befehle werden mit kleinem Anfangsbuchstaben geschrieben
Man kann auch die Kurzschreibweise für die Turtle-Befehle verwenden: fd() statt forward(), bk() statt back(), rt() statt right und lt() statt left()

 

Beispiel 2: Die Turtle zeichnet ein Dreieck mit Punkten in den Ecken

# Tu1b.py

from gturtle import *

makeTurtle()

right(30)
forward(100)
dot(20)
right(120)
forward(100)
dot(20)
right(120)
forward(100)
dot(20)
hideTurtle()
Programmcode markieren (Ctrl+C kopieren, Ctrl+V einfügen)
 
Ausführen mit Webstart

 

Erklärungen zum Programmcode:

dot(20): zeichnet einen Punkt mit dem Radius 20 Pixel
hideTurtle(): versteckt die Turtle

 

Beispiel 3: Es müssen nicht immer Ecken sein

Mit den Befehlen rightArc() bzw. leftArt() kann man die Turtle auf Kreibögen bewegen.

# Tu1c.py

from gturtle import *

makeTurtle()
rightArc(100, 360)
leftArc(100, 360)
rightArc(50, 360)
leftArc(50, 360)
rightArc(200, 70)
home()
leftArc(200, 70)
home()
Programmcode markieren (Ctrl+C kopieren, Ctrl+V einfügen)
 
Ausführen mit Webstart

 

Erklärungen zum Programmcode:

rightArc(r, w): zeichnet einen rechten Kreisbogen mit dem Radius r und Öffnungswinkel w (bei 360° einen Kreis)
leftArc(r, w): zeichnet einen linken Kreisbogen mit dem Radius r und Öffnungswinkel w

 


Aufgaben: Serie 1

 

  Verwende die Befehle forward(), right(), left(), um folgende Figuren zu zeichnen:

1)
2)
3)

  Verwende zusätzlich den Befehl dot(), um folgende Figur zu zeichnen:

4)
 

5)

 

Gelingt es dir die nebenstehende Figur in einem Zug zu zeichnen, ohne dass dabei eine Strecke zweimal durchlaufen wird?

 

6)

 

 

Zeichne mit Hilfe der Befehle rightArc() und leftArc() die nebenstehende Figur.

 


Anmerkung

Mit dem Befehl makeTurtle() wird eine globale Turtle erzeugt, für welche man keinen Namen braucht. Man kann aber auch benannte Turtleobjekte erzeugen:

john = Turtle() erzeugt eine Turtle john. Verwendet man in einem Programm ein benanntes Turtleobjekt, muss man jedem Turtle-Befehl den Turtlenamen voran stellen. Das Beispiel 1 müsste wie folgt angepasst werden:

# Tu1t.py

from gturtle import *

john = Turtle()

john.forward(30)
john.right(90)
john.forward(30)
john.left(90)
john.forward(30)
john.right(90)
john.forward(30)
Programmcode markieren (Ctrl+C kopieren, Ctrl+V einfügen)

Um die Programmcodes möglichst einfach zu halten, verwenden wir in unseren Musterbeispielen mehrheitlich die globale Turtle. In Beispielen, in welchen mehrere Turtles verwendet werden (siehe Abschnitt Mehrere Turtles), sind die benannten Turtleobjekte notwendig.