icon: bi-flower1
kind: uebung
duration: 2 Doppelstunden
languages: [ruby, python, javascript]
idea: Farben aus Zahlen, Merken und Zurückkehren, Zufall und Pflanzen, die aus Wörtern wachsen
curriculum: "Sek I: Algorithmisches Problemlösen (Zeichenkettenbearbeitung), Digitale Bilder und Visualisierung (Turtle-Grafik, Farbmodelle, rekursive Algorithmen für Grafiken)"
topics: [computergrafik, zeichenketten, grammatiken]
requires: [turtle-2]
age: Oberstufe
Turtle: Pflanzen, Zufall und Farbe
Die Schildkröte bekommt drei neue Werkzeuge: Farben aus Zahlen, ein
Gedächtnis für Stellen, zu denen sie zurückkehren kann, und den Zufall.
Damit wachsen Bäume, die sich im Wind biegen, Wiesen, in denen kein Halm dem
anderen gleicht, und Pflanzen, die aus einem einzigen Wort entstehen. Am
Ende zeichnest du, was dir gefällt.
Bisher hatten Farben Namen. Gibst du color stattdessen eine Zahl, sucht
sich die Schildkröte die Farbe auf dem Farbkreis aus: 0 ist Rot, 60
Gelb, 120 Grün, 180 Türkis, 240 Blau, 300 Lila, und bei 360 ist sie wieder
bei Rot. Eine Zahl, die wächst, lässt die Farbe darum einmal durch den
Regenbogen wandern.
color0# rotcolor120# grüncolor200# ein helles Blau
color(0)# rot
color(120)# grün
color(200)# ein helles Blau
color(0);// rotcolor(120);// grüncolor(200);// ein helles Blau
Aufgabe 1Eine Sonne aus allen FarbenEinstieg
Die Sonne aus 36 Strahlen ist schon da, noch schwarz. Gib jedem Strahl seine eigene Farbe: Der erste ist rot, color 0, und jeder nächste liegt 10 Grad weiter im Farbkreis.
Tipp
Die Farbe kommt vor den Strahl, als erste Zeile in der Schleife. Ihre Zahl hängt davon ab, der wievielte Strahl es ist: i.
Nächster Tipp
Strahl 0 hat die Farbe 0, Strahl 1 die Farbe 10, Strahl 2 die Farbe 20: color i * 10.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Aufgabe 1Eine Sonne aus allen FarbenEinstieg
Die Sonne aus 36 Strahlen ist schon da, noch schwarz. Gib jedem Strahl seine eigene Farbe: Der erste ist rot, color(0), und jeder nächste liegt 10 Grad weiter im Farbkreis.
Tipp
Die Farbe kommt vor den Strahl, als erste Zeile in der Schleife. Ihre Zahl hängt davon ab, der wievielte Strahl es ist: i.
Nächster Tipp
Strahl 0 hat die Farbe 0, Strahl 1 die Farbe 10, Strahl 2 die Farbe 20: color(i * 10).
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Aufgabe 1Eine Sonne aus allen FarbenEinstieg
Die Sonne aus 36 Strahlen ist schon da, noch schwarz. Gib jedem Strahl seine eigene Farbe: Der erste ist rot, color(0), und jeder nächste liegt 10 Grad weiter im Farbkreis.
Tipp
Die Farbe kommt vor den Strahl, als erste Zeile in der Schleife. Ihre Zahl hängt davon ab, der wievielte Strahl es ist: i.
Nächster Tipp
Strahl 0 hat die Farbe 0, Strahl 1 die Farbe 10, Strahl 2 die Farbe 20: color(i * 10).
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Aufgabe 2Eine Spirale durch den FarbkreisÜbung
Zeichne eine Spirale aus 120 Linien: Linie i ist 2 * i Schritte lang (die erste, Linie 0, also gar nicht), und nach jeder dreht sich die Schildkröte 59 Grad nach links. Die Farben laufen einmal durch den ganzen Farbkreis: Linie i hat die Farbe 3 * i.
Tipp
Eine Schleife mit 120 Durchläufen, die mitzählt, der wievielte es ist. Darin drei Befehle: die Farbe, die Linie, die Drehung.
Nächster Tipp
Die Länge und die Farbe rechnest du aus i aus: color i * 3 und forward i * 2.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Aufgabe 2Eine Spirale durch den FarbkreisÜbung
Zeichne eine Spirale aus 120 Linien: Linie i ist 2 * i Schritte lang (die erste, Linie 0, also gar nicht), und nach jeder dreht sich die Schildkröte 59 Grad nach links. Die Farben laufen einmal durch den ganzen Farbkreis: Linie i hat die Farbe 3 * i.
Tipp
Eine Schleife mit 120 Durchläufen, die mitzählt, der wievielte es ist. Darin drei Befehle: die Farbe, die Linie, die Drehung.
Nächster Tipp
Die Länge und die Farbe rechnest du aus i aus: color(i * 3) und forward(i * 2).
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Aufgabe 2Eine Spirale durch den FarbkreisÜbung
Zeichne eine Spirale aus 120 Linien: Linie i ist 2 * i Schritte lang (die erste, Linie 0, also gar nicht), und nach jeder dreht sich die Schildkröte 59 Grad nach links. Die Farben laufen einmal durch den ganzen Farbkreis: Linie i hat die Farbe 3 * i.
Tipp
Eine Schleife mit 120 Durchläufen, die mitzählt, der wievielte es ist. Darin drei Befehle: die Farbe, die Linie, die Drehung.
Nächster Tipp
Die Länge und die Farbe rechnest du aus i aus: color(i * 3) und forward(i * 2).
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Zwischen zwei Farben liegen viele andere. Mit zwei Namen und einem Anteil
dazwischen mischt color sie: Beim Anteil 0 ist es ganz die erste, bei 1
ganz die zweite, bei 0,5 genau die Mitte.
color"gold","crimson",0.25# ein Viertel des Wegs von Gold nach Rot
color("gold","crimson",0.25)# ein Viertel des Wegs von Gold nach Rot
color("gold","crimson",0.25);// ein Viertel des Wegs von Gold nach Rot
Aufgabe 3Ein Fächer von Gold nach RotÜbung
Zeichne einen Fächer aus 19 Strahlen, jeder 150 Schritte lang und 10 Grad weiter gedreht als der davor: der erste nach rechts, der letzte nach links. Der erste Strahl ist ganz "gold", der letzte ganz "crimson", und dazwischen ändert sich die Farbe gleichmäßig.
Tipp
Wie die Sonne, nur mit 19 Strahlen und einer gemischten Farbe: color "gold", "crimson", anteil, mit dem Anteil 0 beim ersten Strahl und 1 beim letzten.
Nächster Tipp
Der letzte Strahl ist Strahl 18. Der Anteil ist also i / 18. In Ruby ist i / 18 eine ganze Zahl, fast immer 0: Schreib i / 18.0.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Aufgabe 3Ein Fächer von Gold nach RotÜbung
Zeichne einen Fächer aus 19 Strahlen, jeder 150 Schritte lang und 10 Grad weiter gedreht als der davor: der erste nach rechts, der letzte nach links. Der erste Strahl ist ganz "gold", der letzte ganz "crimson", und dazwischen ändert sich die Farbe gleichmäßig.
Tipp
Wie die Sonne, nur mit 19 Strahlen und einer gemischten Farbe: color("gold", "crimson", anteil), mit dem Anteil 0 beim ersten Strahl und 1 beim letzten.
Nächster Tipp
Der letzte Strahl ist Strahl 18. Der Anteil ist also i / 18.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Aufgabe 3Ein Fächer von Gold nach RotÜbung
Zeichne einen Fächer aus 19 Strahlen, jeder 150 Schritte lang und 10 Grad weiter gedreht als der davor: der erste nach rechts, der letzte nach links. Der erste Strahl ist ganz "gold", der letzte ganz "crimson", und dazwischen ändert sich die Farbe gleichmäßig.
Tipp
Wie die Sonne, nur mit 19 Strahlen und einer gemischten Farbe: color("gold", "crimson", anteil), mit dem Anteil 0 beim ersten Strahl und 1 beim letzten.
Nächster Tipp
Der letzte Strahl ist Strahl 18. Der Anteil ist also i / 18.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Auch das Papier bekommt eine Farbe: background nimmt dieselben Farben wie
color, einen Namen, eine Zahl aus dem Farbkreis oder eine Mischung. Ein
Klick auf color oder background über dem Papier öffnet Farben zum
Aussuchen, darunter die Palette Cling.
2. Merken und zurückkehren
Beim Baum in »Bäume und Kurven« ist die Schildkröte nach jedem Ast den
ganzen Weg zurückgelaufen und hat sich zurückgedreht. Einfacher geht es,
wenn sie sich merkt, wo sie war: push merkt sich, wo die Schildkröte
steht und wohin sie schaut, dazu ihren Stift, ihre Farbe und ihre Breite.
pop bringt sie dorthin zurück, ohne zu zeichnen.
Merkt sie sich mehrere Stellen, kommt bei pop immer die zuletzt gemerkte
zuerst zurück, wie bei einem Stapel Zettel, von dem man den obersten nimmt.
In der Informatik heißt so ein Stapel Stack. Dasselbe push und pop
kennen auch Zeichenprogramme: Ein Canvas im Browser merkt sich seinen
Zustand mit save() und holt ihn mit restore() zurück.
Vermutung 4Wo steht die Schildkröte?
Die Schildkröte schaut nach rechts. Das Programm: forward 100, push, left 90, forward 50, pop, forward 50. Wo steht sie am Ende, und wohin schaut sie?
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Hier geht es weiter, sobald du deine Antwort oben abgegeben hast.
Nach pop steht die Schildkröte wieder dort, wo sie bei push stand, 100
Schritte rechts vom Anfang, und schaut wieder nach rechts. Die kurze Linie
nach oben bleibt stehen; der letzte Strich verlängert die erste Linie auf
150 Schritte.
Aufgabe 5Ein Baum ohne RückwegÜbung
Schreib tree(size, depth) für den Baum aus »Bäume und Kurven« noch einmal, diesmal ohne back und ohne zurückzudrehen: Vor jedem Ast merkt sich die Schildkröte mit push, wo sie ist, und kehrt nach ihm mit pop dorthin zurück.
Tipp
Bei der Tiefe 0 kehrt die Funktion zurück. Sonst zeichnet sie den Stamm, und an seinem Ende wachsen die beiden Äste.
Nächster Tipp
Ein Ast: push, 30 Grad drehen, tree(size * 0.7, depth - 1), pop. Nach dem pop steht die Schildkröte wieder oben am Stamm und schaut nach oben, bereit für den zweiten Ast.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Aufgabe 5Ein Baum ohne RückwegÜbung
Schreib tree(size, depth) für den Baum aus »Bäume und Kurven« noch einmal, diesmal ohne back und ohne zurückzudrehen: Vor jedem Ast merkt sich die Schildkröte mit push, wo sie ist, und kehrt nach ihm mit pop dorthin zurück.
Tipp
Bei der Tiefe 0 kehrt die Funktion zurück. Sonst zeichnet sie den Stamm, und an seinem Ende wachsen die beiden Äste.
Nächster Tipp
Ein Ast: push(), 30 Grad drehen, tree(size * 0.7, depth - 1), pop(). Nach dem pop steht die Schildkröte wieder oben am Stamm und schaut nach oben, bereit für den zweiten Ast.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Aufgabe 5Ein Baum ohne RückwegÜbung
Schreib tree(size, depth) für den Baum aus »Bäume und Kurven« noch einmal, diesmal ohne back und ohne zurückzudrehen: Vor jedem Ast merkt sich die Schildkröte mit push, wo sie ist, und kehrt nach ihm mit pop dorthin zurück.
Tipp
Bei der Tiefe 0 kehrt die Funktion zurück. Sonst zeichnet sie den Stamm, und an seinem Ende wachsen die beiden Äste.
Nächster Tipp
Ein Ast: push(), 30 Grad drehen, tree(size * 0.7, depth - 1), pop(). Nach dem pop steht die Schildkröte wieder oben am Stamm und schaut nach oben, bereit für den zweiten Ast.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
3. Zufall
random(1, 6) ist eine zufällige ganze Zahl von 1 bis 6, wie ein Würfel.
Mit Kommazahlen, random(0.5, 2.0), ist es eine zufällige Kommazahl
dazwischen. Jeder Aufruf gibt eine neue Zahl, und jeder Lauf ein neues Bild.
Ein Bild aus dem Zufall sieht bei jedem Lauf anders aus, darum vergleicht
hier niemand mit einer Vorlage: Jedes Bild ist richtig.
Aufgabe 6Ein SpaziergangEinstieg
Lass die Schildkröte 1000 kleine Schritte gehen, jeden 4 lang, und sich nach jedem zufällig ein wenig drehen, um random(-30, 30) Grad. Wer mag, lässt dabei die Farbe langsam durch den Farbkreis wandern.
Tipp
Eine Schleife mit 1000 Durchläufen, darin ein Schritt vorwärts und eine Drehung um eine zufällige Zahl.
Nächster Tipp
Die Farbe des i-ten Schritts: color i / 3.0, so ist sie nach 1000 Schritten fast einmal herum.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Aufgabe 6Ein SpaziergangEinstieg
Lass die Schildkröte 1000 kleine Schritte gehen, jeden 4 lang, und sich nach jedem zufällig ein wenig drehen, um random(-30, 30) Grad. Wer mag, lässt dabei die Farbe langsam durch den Farbkreis wandern.
Tipp
Eine Schleife mit 1000 Durchläufen, darin ein Schritt vorwärts und eine Drehung um eine zufällige Zahl.
Nächster Tipp
Die Farbe des i-ten Schritts: color(i / 3), so ist sie nach 1000 Schritten fast einmal herum.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Aufgabe 6Ein SpaziergangEinstieg
Lass die Schildkröte 1000 kleine Schritte gehen, jeden 4 lang, und sich nach jedem zufällig ein wenig drehen, um random(-30, 30) Grad. Wer mag, lässt dabei die Farbe langsam durch den Farbkreis wandern.
Tipp
Eine Schleife mit 1000 Durchläufen, darin ein Schritt vorwärts und eine Drehung um eine zufällige Zahl.
Nächster Tipp
Die Farbe des i-ten Schritts: color(i / 3), so ist sie nach 1000 Schritten fast einmal herum.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Aufgabe 7Ein Baum im WindÜbung
Lass deinen Baum mit push und pop so wachsen, wie Bäume wachsen: Jeder Ast bekommt seinen eigenen zufälligen Winkel und seine eigene zufällige Länge. Lass ihn ein paarmal wachsen, jedes Mal steht ein anderer Baum da.
Tipp
Statt left 30 ein Winkel aus dem Zufall: left random(10, 40), für jeden Ast neu.
Nächster Tipp
Auch die Länge darf schwanken: size * random(0.6, 0.85). Mit Kommazahlen gibt random eine Kommazahl zurück.
Nächster Tipp
Dick und braun unten, dünn und grün an den Spitzen: width depth und eine Farbe, die von depth abhängt, wie beim schönen Baum.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Aufgabe 7Ein Baum im WindÜbung
Lass deinen Baum mit push und pop so wachsen, wie Bäume wachsen: Jeder Ast bekommt seinen eigenen zufälligen Winkel und seine eigene zufällige Länge. Lass ihn ein paarmal wachsen, jedes Mal steht ein anderer Baum da.
Tipp
Statt left(30) ein Winkel aus dem Zufall: left(random(10, 40)), für jeden Ast neu.
Nächster Tipp
Auch die Länge darf schwanken: size * random(0.6, 0.85). Mit Kommazahlen gibt random eine Kommazahl zurück.
Nächster Tipp
Dick und braun unten, dünn und grün an den Spitzen: width depth und eine Farbe, die von depth abhängt, wie beim schönen Baum.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Aufgabe 7Ein Baum im WindÜbung
Lass deinen Baum mit push und pop so wachsen, wie Bäume wachsen: Jeder Ast bekommt seinen eigenen zufälligen Winkel und seine eigene zufällige Länge. Lass ihn ein paarmal wachsen, jedes Mal steht ein anderer Baum da.
Tipp
Statt left(30) ein Winkel aus dem Zufall: left(random(10, 40)), für jeden Ast neu.
Nächster Tipp
Auch die Länge darf schwanken: size * random(0.6, 0.85). Mit Kommazahlen gibt random eine Kommazahl zurück.
Nächster Tipp
Dick und braun unten, dünn und grün an den Spitzen: width depth und eine Farbe, die von depth abhängt, wie beim schönen Baum.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Ausprobieren: Lass an manchen Ästen einen dritten wachsen:
Ist random(1, 3) gleich 1, kommt noch ein Ast geradeaus dazu. Achte
darauf, wie viel dichter die Krone wird.
Aufgabe 8Eine WieseÜbung
Zeichne eine Wiese aus vielen Grashalmen nebeneinander. Ein Halm ist eine Reihe kurzer Schritte, die sich immer ein wenig in dieselbe Richtung biegen; jeder Halm biegt sich anders, ist anders lang und anders grün.
Tipp
Ein Halm: push, nach oben drehen, dann viele Schritte von 4, nach jedem eine kleine Drehung um denselben Winkel bend, und pop. Danach steht die Schildkröte wieder unten.
Nächster Tipp
Zwischen zwei Halmen geht sie mit gehobenem Stift ein paar Schritte nach rechts.
Nächster Tipp
Für jeden Halm neu: bend = random(-3.0, 3.0), eine Länge mit random(15, 40) und ein Grün mit color "forestgreen", "yellowgreen", random(0.0, 1.0).
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Aufgabe 8Eine WieseÜbung
Zeichne eine Wiese aus vielen Grashalmen nebeneinander. Ein Halm ist eine Reihe kurzer Schritte, die sich immer ein wenig in dieselbe Richtung biegen; jeder Halm biegt sich anders, ist anders lang und anders grün.
Tipp
Ein Halm: push(), nach oben drehen, dann viele Schritte von 4, nach jedem eine kleine Drehung um denselben Winkel bend, und pop(). Danach steht die Schildkröte wieder unten.
Nächster Tipp
Zwischen zwei Halmen geht sie mit gehobenem Stift ein paar Schritte nach rechts.
Nächster Tipp
Für jeden Halm neu: bend = random(-3.0, 3.0), eine Länge mit random(15, 40) und ein Grün mit color("forestgreen", "yellowgreen", random(0.0, 1.0)).
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Aufgabe 8Eine WieseÜbung
Zeichne eine Wiese aus vielen Grashalmen nebeneinander. Ein Halm ist eine Reihe kurzer Schritte, die sich immer ein wenig in dieselbe Richtung biegen; jeder Halm biegt sich anders, ist anders lang und anders grün.
Tipp
Ein Halm: push(), nach oben drehen, dann viele Schritte von 4, nach jedem eine kleine Drehung um denselben Winkel bend, und pop(). Danach steht die Schildkröte wieder unten.
Nächster Tipp
Zwischen zwei Halmen geht sie mit gehobenem Stift ein paar Schritte nach rechts.
Nächster Tipp
Für jeden Halm neu: bend = random(-3.0, 3.0), eine Länge mit random(15, 40) und ein Grün mit color("forestgreen", "yellowgreen", random(0.0, 1.0)).
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
4. Pflanzen aus Wörtern
Der Biologe Aristid Lindenmayer hat 1968 beschrieben, wie Algen wachsen:
mit Wörtern, in denen jeder Buchstabe nach einer Regel durch ein ganzes Wort
ersetzt wird, immer wieder. Solche Regeln heißen heute
Lindenmayer-Systeme oder kurz L-Systeme. Liest die Schildkröte das Wort
als Befehle, wächst eine Pflanze:
Buchstabe
Die Schildkröte
F
geht ein Stück vorwärts und zeichnet
+
dreht sich nach links
-
dreht sich nach rechts
[
merkt sich die Stelle (push)
]
kehrt zur Stelle zurück (pop)
Das Wort F[+F]F[-F]F ist ein Stiel aus drei Stücken mit einem Zweig nach
links und einem nach rechts.
Aufgabe 9Ein Wort als BildÜbung
Schreib draw_word(word, size, angle), die ein Wort Buchstabe für Buchstabe zeichnet: F ist size Schritte vorwärts, + ist angle Grad nach links, - ist angle Grad nach rechts, [ ist push und ] ist pop. Andere Buchstaben zeichnen nichts.
Tipp
Eine Schleife über die Buchstaben: word.each_char do |letter|. Darin fragt sie, welcher Buchstabe es ist.
Nächster Tipp
Für jeden der fünf Buchstaben eine Frage: if letter == "F", dann elsif letter == "+" und so weiter, mit dem passenden Befehl darin.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Aufgabe 9Ein Wort als BildÜbung
Schreib draw_word(word, size, angle), die ein Wort Buchstabe für Buchstabe zeichnet: F ist size Schritte vorwärts, + ist angle Grad nach links, - ist angle Grad nach rechts, [ ist push und ] ist pop. Andere Buchstaben zeichnen nichts.
Tipp
Eine Schleife über die Buchstaben: for letter in word:. Darin fragt sie, welcher Buchstabe es ist.
Nächster Tipp
Für jeden der fünf Buchstaben eine Frage: if letter == "F":, dann elif letter == "+": und so weiter, mit dem passenden Befehl darin.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Aufgabe 9Ein Wort als BildÜbung
Schreib drawWord(word, size, angle), die ein Wort Buchstabe für Buchstabe zeichnet: F ist size Schritte vorwärts, + ist angle Grad nach links, - ist angle Grad nach rechts, [ ist push und ] ist pop. Andere Buchstaben zeichnen nichts.
Tipp
Eine Schleife über die Buchstaben: for (const letter of word). Darin fragt sie, welcher Buchstabe es ist.
Nächster Tipp
Für jeden der fünf Buchstaben eine Frage: if (letter === "F"), dann else if (letter === "+") und so weiter, mit dem passenden Befehl darin.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Jetzt wächst das Wort. Die Regel heißt: Jedes F wird zu F[+F]F[-F]F. Aus
F wird so F[+F]F[-F]F, und daraus ein Wort, in dem jedes dieser fünf F
wieder ein ganzer Zweig ist. Klick dich durch die Stufen: Jedes F der Regel
wird zur Pflanze der Stufe davor, jede in ihrer Farbe.
Aufgabe 10Ein Wort wächstKnobelei
Schreib grow(word, times), die das Wort times-mal wachsen lässt: Bei jedem Mal wird jedes F zu F[+F]F[-F]F. Deine Funktion draw_word von eben steht schon da; unten zeichnet sie die Pflanze der Stufe 4.
Tipp
Eine Schleife, die times-mal läuft; in jedem Durchlauf wird das Wort durch ein neues ersetzt.
Nächster Tipp
Jedes F auf einmal ersetzen: word = word.gsub("F", "F[+F]F[-F]F"). Am Ende gibt die Funktion das Wort zurück.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Aufgabe 10Ein Wort wächstKnobelei
Schreib grow(word, times), die das Wort times-mal wachsen lässt: Bei jedem Mal wird jedes F zu F[+F]F[-F]F. Deine Funktion draw_word von eben steht schon da; unten zeichnet sie die Pflanze der Stufe 4.
Tipp
Eine Schleife, die times-mal läuft; in jedem Durchlauf wird das Wort durch ein neues ersetzt.
Nächster Tipp
Jedes F auf einmal ersetzen: word = word.replace("F", "F[+F]F[-F]F"). Am Ende gibt die Funktion das Wort zurück.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Aufgabe 10Ein Wort wächstKnobelei
Schreib grow(word, times), die das Wort times-mal wachsen lässt: Bei jedem Mal wird jedes F zu F[+F]F[-F]F. Deine Funktion drawWord von eben steht schon da; unten zeichnet sie die Pflanze der Stufe 4.
Tipp
Eine Schleife, die times-mal läuft; in jedem Durchlauf wird das Wort durch ein neues ersetzt.
Nächster Tipp
Jedes F auf einmal ersetzen: word = word.replaceAll("F", "F[+F]F[-F]F"). Am Ende gibt die Funktion das Wort zurück.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Ausprobieren: Andere Regeln, andere Pflanzen. Probier
F[+F]F[-F][F] mit 20 Grad und fünf Stufen, oder FF-[-F+F+F]+[+F-F-F] mit
22,5 Grad und vier Stufen. Mit zwei Regeln wächst eine Pflanze aus dem Buch
unten: X wird zu F+[[X]-X]-F[-FX]+X und F zu FF, mit 22,5 Grad, fünf
Stufen und X als erstem Wort. X zeichnet nichts, es sagt nur,
wo die Pflanze weiterwächst. Achte darauf, welche Regel einen Busch und
welche einen Halm wachsen lässt.
The Algorithmic Beauty of Plants, Przemysław Prusinkiewicz
und Aristid Lindenmayer, 1990. Das Buch zu den Pflanzen aus Wörtern, mit
Regeln für Büsche, Bäume, Blüten und Farne und mit vielen Bildern. Eine
elektronische Fassung steht frei auf
algorithmicbotany.org.
Aufgabe 11Deine PflanzeKnobelei
Erfinde eine eigene Pflanze: eine andere Regel, ein anderer Winkel, mehr Stufen, Farben, die sich mit jedem Ast ändern, oder ein Winkel aus dem Zufall. Ideen stehen oben im Kasten »Ausprobieren«.
Tipp
Fang mit einer Zahl an: Ein Winkel von 20 oder 35 Grad statt 25 gibt schon eine andere Pflanze.
Nächster Tipp
Eine zweite Regel braucht einen Buchstaben, der nichts zeichnet, wie X: Er sagt nur, wo die Pflanze weiterwächst. Dann ersetzt grow Buchstabe für Buchstabe, damit die Regeln einander nicht stören.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Aufgabe 11Deine PflanzeKnobelei
Erfinde eine eigene Pflanze: eine andere Regel, ein anderer Winkel, mehr Stufen, Farben, die sich mit jedem Ast ändern, oder ein Winkel aus dem Zufall. Ideen stehen oben im Kasten »Ausprobieren«.
Tipp
Fang mit einer Zahl an: Ein Winkel von 20 oder 35 Grad statt 25 gibt schon eine andere Pflanze.
Nächster Tipp
Eine zweite Regel braucht einen Buchstaben, der nichts zeichnet, wie X: Er sagt nur, wo die Pflanze weiterwächst. Dann ersetzt grow Buchstabe für Buchstabe, damit die Regeln einander nicht stören.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Aufgabe 11Deine PflanzeKnobelei
Erfinde eine eigene Pflanze: eine andere Regel, ein anderer Winkel, mehr Stufen, Farben, die sich mit jedem Ast ändern, oder ein Winkel aus dem Zufall. Ideen stehen oben im Kasten »Ausprobieren«.
Tipp
Fang mit einer Zahl an: Ein Winkel von 20 oder 35 Grad statt 25 gibt schon eine andere Pflanze.
Nächster Tipp
Eine zweite Regel braucht einen Buchstaben, der nichts zeichnet, wie X: Er sagt nur, wo die Pflanze weiterwächst. Dann ersetzt grow Buchstabe für Buchstabe, damit die Regeln einander nicht stören.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
5. Dein Bild
Zum Schluss alles zusammen: Farben aus Zahlen, push und pop, Zufall und
Pflanzen aus Wörtern. Geprüft wird hier nichts.
Aufgabe 12Dein BildÜbung
Zeichne, was du willst, mit allem, was du jetzt kannst: einen Wald aus Bäumen im Wind, eine Wiese mit Blumen, eine Schneeflocke, einen Blitz, einen Sternenhimmel. Gefällt dir dein Bild, kannst du es einreichen.
Tipp
Fang mit einer Sache an, die du schon kannst, und setz sie mehrmals nebeneinander: Mit push und pop kommt die Schildkröte nach jedem Teil zurück.
Nächster Tipp
Mit gehobenem Stift bringst du die Schildkröte an die Stelle für das nächste Teil.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Aufgabe 12Dein BildÜbung
Zeichne, was du willst, mit allem, was du jetzt kannst: einen Wald aus Bäumen im Wind, eine Wiese mit Blumen, eine Schneeflocke, einen Blitz, einen Sternenhimmel. Gefällt dir dein Bild, kannst du es einreichen.
Tipp
Fang mit einer Sache an, die du schon kannst, und setz sie mehrmals nebeneinander: Mit push und pop kommt die Schildkröte nach jedem Teil zurück.
Nächster Tipp
Mit gehobenem Stift bringst du die Schildkröte an die Stelle für das nächste Teil.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Aufgabe 12Dein BildÜbung
Zeichne, was du willst, mit allem, was du jetzt kannst: einen Wald aus Bäumen im Wind, eine Wiese mit Blumen, eine Schneeflocke, einen Blitz, einen Sternenhimmel. Gefällt dir dein Bild, kannst du es einreichen.
Tipp
Fang mit einer Sache an, die du schon kannst, und setz sie mehrmals nebeneinander: Mit push und pop kommt die Schildkröte nach jedem Teil zurück.
Nächster Tipp
Mit gehobenem Stift bringst du die Schildkröte an die Stelle für das nächste Teil.
Melde dich an, damit der Workspace deine Antwort prüfen und speichern kann.
Die Verbindung zum Server wurde unterbrochen. Bitte lade die Seite neu.