Eigentlich hatte ich gestern etwas ganz anderes vor, doch dann bin ich auf diese Vorschrift zum Zeichnen von Mandala-ähnlichen Bildern mit der Turtle gestoßen. Die Idee dazu wird Joshua Goldstein zugeschrieben, denn ich bisher nur als (ehemaligen) Direktor des Max-Planck-Instituts für demographische Forschung in Rostock kannte. Allerdings konnte ich keine Original-Publikation ausmachen, die Google Scholar Suche brachte einfach zu viele Ergebnisse.
Dabei ist die Idee ganz simpel, Goldstein schlug vor Paare von Move/Turn-Befehlen zur Erstellung der Figuren zu verwenden. Ein Schritt besteht also aus den Befehlen.
forward(s) right(a)
Für die obige Figur (Quellcode auf Gitlab) habe ich die Turtle 31 Schritte mi s = 300
und a = 151°
auf die Reise geschickt.
Die Reise kann allerdings auch länger sein, zum Beispiel 142 Schritte mit s = 400
und a = 159.72°
(Quellcode auf Gitlab).
Der nächste Schritt wäre, zwei verschiedene Paare von Move/Turn-Befehlen hintereinander ausführen zu lassen, zum Beispiel 37 Schritte mit s1 = 77
mit a1 = 140.86°
und s2 = 310
mit a2 = 112°
. Das ergibt dann obige Figur (Quellcode auf Gitlab).
Das ließe sich beliebig fortsetzen, das obige Bild nutzt drei Move/Turn-Paare, nämlich 47 Schritte mit s1 = 15.4
und a1 = 140.86°
, dann s2 = 62
und a2 = 112°
und schließlich s= 57.2
und a = 130°
. Natürlich findet Ihr auch diesen Quellcode auf Gitlab. Aber für die schnellere Übersicht habe ich ihn auch hier im Blog Kritzelheft abgedruckt:
from gturtle import * def goldstein(t, step, s1, s2, s3, a1, a2, a3): for _ in range(step): t.forward(s1) t.right(a1) t.forward(s2) t.forward(a2) t.forward(s3) t.forward(a3) step = 47 s1 = 15.4 a1 = 140.86 s2 = 62 a2 = 112 s3 = 57.2 a3 = 130 Options.setPlaygroundSize(500, 500) # Fenstergröße tf = TurtleFrame() tf.setTitle("Goldstein-Figur 4") tf.clear(makeColor(226, 107, 67)) # Hintergrundfarbe t = Turtle(tf) t.setPenColor(makeColor(60, 76, 97)) # Stiftfarbe der Turtle t.setLineWidth(2) t.hideTurtle() t.penUp() t.setPos(-70, 170) t.penDown() goldstein(t, step, s1, s2, s3, a1, a2, a3)
Die anderen Skripte folgen alle diesem Muster, nur sind die Anzahl der Parameter, die der Funktion goldstein()
übergeben werden, natürlich kleiner.
Über …
Der Schockwellenreiter ist seit dem 24. April 2000 das Weblog digitale Kritzelheft von Jörg Kantel (Neuköllner, EDV-Leiter Rentner, Autor, Netzaktivist und Hundesportler — Reihenfolge rein zufällig). Hier steht, was mir gefällt. Wem es nicht gefällt, der braucht ja nicht mitzulesen. Wer aber mitliest, ist herzlich willkommen und eingeladen, mitzudiskutieren!
Alle eigenen Inhalte des Schockwellenreiters stehen unter einer Creative-Commons-Lizenz, jedoch können fremde Inhalte (speziell Videos, Photos und sonstige Bilder) unter einer anderen Lizenz stehen.
Der Besuch dieser Webseite wird aktuell von der Piwik Webanalyse erfaßt. Hier können Sie der Erfassung widersprechen.
Diese Seite verwendet keine Cookies. Warum auch? Was allerdings die iframes
von Amazon, YouTube und Co. machen, entzieht sich meiner Kenntnis.
Werbung
Diese Spalte wurde absichtlich leergelassen!