TigerJython | xx für Gymnasien |
Die Farben können mit folgenden Befehlen gewählt werden:
setColor("farbe") : Farbe der Turtle
setPenColor("farbe") : Stiftfarbe
setFillColor("farbe") : Füllfarbe
setPenWidth(pixel) : Dicke der Linien
Die Turtlefarbe kann auch mit dem Befehl makeTurtle() geändert werden- Falls die Klammer leer ist, hat Turte die Farbe "cyan".
makeTurtle("red") erzeugt eine rote Turtle.
Als Farbnamen kann man die sogenannten X11-Farben verwenden. Das sind einige dutzend Farbnamen, die man im Internet unter http://cng.seas.rochester.edu/CNG/docs/x11color.html finden kann. Einige übliche Namen: black, blue, browsn, cyan, dkgray, green, gray, ltgray, magenta, navy, orange, pink, red, sky blue, turquoise, white, yellow. Für Färben von Flächen stehen mehrere Befehle zur Verfügung. Die nachfolgenden Beispiele zeigen typische Situationen für ihre Verwendung
Beispiel 1: Schweizerfahne zeichnen Die Turtle zeichnet zuerst mit einer 8 Pixel dicken roten Linie einen Kreuz. Dann wird auch die Füllfarbe auf Rot gesetzt und das geschlossene Gebiet ausserhalb des Kreuzes mit dem Befehl fill(-60, 60) rot gefärbt. Wenn man die Zeile fill(-60, 60) deaktiviert und die Zeile fill(0, 0) aktiviert, wird die Fläche des Kreuzes gefärbt.
|
Erklärungen zum Programmcode:
makeTurtle("red") : erzeugt eine rote Turtle (fall Klamme leer, hat die Turtle die Farbe "cyan") | |
setPenColor("red") : setzt die Stiftfarbe auf rot | |
setPenWidth(8) : setzt die Stiftdicke auf 8 Pixel | |
setFillColor("red") : setzt die Füllfarbe auf rot | |
fill(-60, 60) : füllt die Fläche, in der sich der Punkt (-60, 60) befindet | |
hideTurtle() versteckt die Turtle |
Die Flächen können auch fortlaufend während des Zeichnens mit der Stiftfarbe gefärbt werden. Dazu stehen folgende Befehle zur Verfügung: fillToPoint(x, y) fillToHorizontal(y) fillToVertical(x)
|
# Tu4a.py from gturtle import * makeTurtle() speed(-1) setPenColor("yellow") setPos(-150, 100) fillToPoint(-100, 75) repeat 6: fd(60).rt(140).fd(60).lt(80) setPenColor("green") rt(30) setPos(-180, -150) fillToHorizontal(-100) repeat 3: fd(120).rt(120).fd(120).lt(120) setPenColor("red") fillToVertical(100) home() rt(45) fd(250) |
Programmcode markieren
|
Erklärungen zum Programmcode:
Der Befehl fillToPoint()muss vor dem Zeichnen der Figur erfolgen | |
fd(60).rt(140).fd(60).lt(80) Die Turtle-Befehle können nacheinander, getrennt mit Punkt verwendet werden | |
home() versetzt die Turtle wird an die Position (0, 0) mit der Richtung nach oben |
Für das Füllen von Flächen können auch die Befehle startPath() und fillPath() verwendet werden. startPath() fillPath() Beispiel 3: Pfad zeichnen und Flächen füllen |
# Tu4b.py from gturtle import * makeTurtle() setFillColor("magenta") startPath() repeat 5: forward(160) left(144) fillPath() |
Programmcode markieren
|
Erklärungen zum Programmcode:
Der Befehl startPath() muss vor dem Zeichnen des Pfades stehen | |
fillPath() steht am Schluss des Pfades. Danach wird die Figur gefüllt |
Aufgaben: Serie 4 |
Zeichne folgende Figuren: |
1) |
2) |
3) |
4) |
5) |
Verwende die Funktionen (Farbname: "darkviolet") |
6) |
Auch bei dieser Aufgabe kannst du die Befehle |
|
7) |
Ergänze das Programm so, dass 20 schwarz gefüllte Quadrate mit einem dicken, roten Rand gezeichnet werden.
|
ZUSATZSTOFF
Im RGB-Modell werden die Farben mit ihrem Rot-, Grün- und Blauanteil definiert. makeColor(r, g, b) setzt diese Farbanteile zu einer Farbe zusammen.
Beispiel 4: Kreise mit selbstdefinierten Farben zeichnen
|
|
Farbverlauf
|
|
In den meisten Grafikprogrammen kann eine Farbe per Mausklick in einer Farbauswahlbox gewählt werden. Auch unsere Turtlegrafik bietet diese Möglichkeit. Mit dem Befehl askColor() wird eine Dialogbox geöffnet, in der mit Mausklick eine Farbe gewählt und mit OK die Auswahl bestätig wird.
|
# Tu4c.py from gturtle import * makeTurtle() clear("black") for x in range(-250, 250, 75): setPos(x, x + 30) color = askColor("Farbauswahl", "yellow") setPenColor(color) fillToPoint(x, x) for i in range(6): fd(30).rt(120).fd(30).lt(60) |
Programmcode markieren
|
Erklärungen zum Programmcode:
clear("black") : übermalt das Turtlefenster mit der schwarzen Farbe (löscht dabei alle Zeichnungen) | |
color = askColor("Farbauswahl", "yellow"): öffnet die Dialogbox Farbauswahl. |
|
setPenColor(color): setzt die Stiftfarbe auf die gewählte Farbe |
Im "normalen" Modus wird die Turtlespur ausserhalb des Turtlefensters nicht mehr sichtbar. Mit dem Befehl wrap() wird die Turtle in den Wrap-Modus versetzt. Dieser bewirkt, dass die Turtle nach dem Verlassen des Turtle-Fensters auf der gegenüber liegenden Seite wieder im Fenster erscheint und das Zeichnen fortsetzt.
from gturtle import * makeTurtle() wrap(); left(70) forward(10000) |
Beispiel 6: Verwendung des Befehls wrap() bei gefüllten Figuren Die Turtle zeichnet einen Kreis, indem sie 90 mal eine kurze Strecke vorwärts geht und eine Linksdrehung um 4 Grad macht. Dabei wird die Figur fortlaufen vom Mittelpunkt des Kreises gefüllt. Nachdem die Turtle oben ausläuft, wird die Spur und auch der Füllvorgang unten fortgesetzt.
|