image image


image

Spaß mit der Turtle: Mandalas nach Joshua Goldstein

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.

image

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.

image

Die Reise kann allerdings auch länger sein, zum Beispiel 142 Schritte mit s = 400 und a = 159.72° (Quellcode auf Gitlab).

image

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).

image

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.

Literatur und Quellen

  • Die Paramaeter für die Goldstein-Figuren habe ich diesem Informatik-Moodle entnommen.
  • Die einzige Quelle, die ich gefunden habe, die Joshua Goldstein als Urheber nennt, ist diese: »Simple Programs in Turtle Geometry« im Wolfram Demonstration Project. Dort findet Ihr noch mehr Beispiele für Eure Experimente mit der Schildkröte
  • Sandra Steiner Matt zeigt in ihrem Aufsatz »Von der Turtle-Grafik zum Mandala« ebenfalls einige schöne Figuren, teilweise ebenfalls nach Joshua Goldstein.

(Kommentieren) 

image image



Ü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!


Werbung


image  image  image
image  image  image


image