Hier schrieb ich, daß ich mir sicher sei, daß (C)Pythons Turtle-Modul Methoden enthält, um ein von der Schildkröte gezeichnetes Polygon zu füllen. Und da ein Blick in die Dokumentation mir zeigte, daß dem tatsächlich so ist, mußte ich doch gleich einen symmetrischen Pythagoras-Baum in bunt implementieren.
Die Füllung erfolgt ganz einfach. Man muß das zu füllende, von der Turtle gezeichnete Polygon mit begin_fill()
und end_fill()
klammern. Natürlich darf man nicht vergessen, vorher mit turtle.color()
die Füll- und Randfarben festzulegen.
Der Rest des Quellcodes ist – bis auf die Farben – mit dem Processing.py-Sketch, mit dem ich einen einfarbigen, ungefüllten Pythagoras-Baum implementiert hatte, nahezu identisch:
import turtle as t import math WIDTH = 640 HEIGHT = 480 palette = [(189, 183, 110), (0, 100, 0), (34, 139, 105), (152, 251, 152), (85, 107, 47), (139, 69, 19), (154, 205, 50), (107, 142, 35), (139, 134, 78), (139, 115, 85)] wn = t.Screen() wn.colormode(255) wn.bgcolor("#2b3e50") wn.setup(width = WIDTH, height = HEIGHT) wn.title("Symmetrischer Pythagoras-Baum") p = t.Turtle() p.speed(0) p.color(0, 0, 0) p.setheading(90) def tree(s): if s < 2: return quadrat(s) p.forward(s) s1 = s/math.sqrt(2) p.left(45) tree(s1) p.right(90) p.forward(s1) tree(s1) p.back(s1) p.left(45) p.back(s) def quadrat(s): p.color(palette[int(s - 2)%10], palette[int(s - 2)%10]) p.begin_fill() for _ in range(4): p.forward(s) p.right(90) p.end_fill() p.penup() p.setpos(-50, -HEIGHT/2 + 50) # Bildschirm-Refresh ausschalten wn.tracer(0) p.pendown() tree(100) p.hideturtle() # Bildschirm-Refresh wieder einschalten wn.update() print("I did it, Babe") wn.mainloop()
Nun bin ich hin- und hergerissen: Soll ich weiter mit (C)Pythons Schildkröte spielen oder soll ich mich um P5 (Python) kümmern? So viel zu spielen, so wenig Zeit …
Ü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!