Nachdem ich mir gestern dieses Video angesehen hatte, wollte ich auch so einen fraktalen Y-Baum mit Pythons Turtlemodul zusammenbasteln. Der Baum heißt Y-Baum, weil er aus regelmäßigen, immer kleiner werdenden Zweigen in Form eines »Y« zusammengesetzt ist. Er kann im Prinzip nach dem gleichen Schema wie hier schon einmal gezeigt, programmiert werden.
Und hier ist der Quellcode, mit dem ich dieses »Kunstwerk« zusammengeschraubt habe:
import turtle as t WIDTH = 600 HEIGHT = 420 # Initialisierung wn = t.Screen() wn.colormode(255) wn.bgcolor(235, 215, 182) wn.setup(width = WIDTH, height = HEIGHT) wn.title("Fractal Tree 2") ftree = t.Turtle() ftree.speed(0) ftree.pencolor(0, 100, 0) ftree.setheading(90) def draw_tree(n): if (n < 3): return else: ftree.pensize(n/10 + 1) ftree.forward(n) ftree.left(30) draw_tree(3*n/4) ftree.right(60) draw_tree(3*n/4) ftree.left(30) ftree.backward(n) ftree.penup() ftree.setpos(0, -180) ftree.pendown() # Bildschirm-Refresh ausschalten wn.tracer(0) draw_tree(100) ftree.hideturtle() # Bildschirm-Refresh wieder einschalten wn.update() wn.mainloop()
Da das Zeichnen dieses Baumes schon sehr lange dauert, habe ich mit dem Befehlspaar wn.tracer(0)
und wn.update()
den Bildschirm-Refresh aus- und wieder eingeschaltet, dann ist der fertige Baum nämlich innerhalb von Sekunden zu sehen. Ich empfehle allerdings, die beiden Zeilen wenigstens einmal auszukommentieren, um zu sehen, wie der rekursive Algorithmus Zweig für Zweig den Baum erzeugt.
Die zweite Neuerung gegeenüber dem letzten Programm ist, daß ich die Stiftstärke in Abhängigkeit von der Rekursionstiefe verändert habe –– je tiefer die Rekursion, desto dünner der Stift. So hat der Baum einen dicken Stamm und die Zweige werden nach oben immer dünner. Mit pensize(n/10 + 1)
habe ich erzwungen, daß die Stiftstärke niemals 0
wird, sie ist immer mindestens 1
.
So langsam finde ich mehr und mehr Gefallen an dem Zeichnen von fraktalen Bäumen und anderen seltsamen Gebilden. Ich muß mal durch meine Literatur zur fraktalen Geometrie blättern, was es da sonst noch alles gibt. Still digging!
Über …
Der Schockwellenreiter ist seit dem 24. April 2000 das Weblog digitale Kritzelheft von Jörg Kantel (Neuköllner, EDV-Leiter, 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