image image


Korrektur: Die »andere« Peano-Kurve mit Processing.py und der Turtle

Vor ein paar Tagen hatte ich eine raumfüllende Kurve vorgestellt, die ich für die/eine Peano-Kurve hielt. Ich hatte mich hier auf meine Quelle verlassen. Dabei hätte ein genaueres Hinsehen mir zeigen müssen, daß es sich um die Hilbert-Kurve handelt, die ich im letzten Monat schon einmal mit der Turtle und Processing.py zeichnen ließ.

image

Dies muß ich natürlich korrigieren. Als Quelle habe ich dieses Mal das Buch »Chaos – Bausteine der Ordnung« von Heinz-Otto Peitgen, Hartmut Jürgens und Dietmar Saupe, Berlin und Stuttgart (Springer und Klett-Cotta), 1994, Seite 547f. ausgewählt. Doch auch diese Bibel der Chaos-Forschung ist nicht ganz fehlerfrei, bei den Produktionsregeln fehlte in der zweiten Regel ein Z. Daher hier die korrigierten Regeln:

Axiom: S
Produktionsregeln: S -> SFZFS+F+ZFSFZ-F-SFZFS
                   Z -> ZFSFZ-F-SFZFS+F+ZFSFZ

Im Buch fehlte das erste Z der zweiten Regel. Alles weitere ergibt sich aus dem Quellcode:

add_library('Turtle')
import math

num_gen = 4
len_seg = 4 
a = 90  # Winkel
axiom = "S"
sentence = axiom
rules = {"S": "SFZFS+F+ZFSFZ-F-SFZFS",
         "Z": "ZFSFZ-F-SFZFS+F+ZFSFZ",
}


def setup():
    global p
    size(400, 400)
    this.surface.setTitle("SZ-Peano-Kurve")
    background(50)
    strokeWeight(1)
    stroke(150, 255, 100)
    p = Turtle(this)
    p.right(a)
    generate(num_gen)
    noLoop()

def draw():
    p.penUp()
    p.goToPoint(40, height-40)
    p.penDown()
    plot(p)
    print("I did it, Babe")
    
def generate(n):
    global len_seg, sentence
    for i in range(n):
        # len_seg *= 0.5
        next_sentence = ""
        for c in sentence:
            next_sentence += rules.get(c, c)
        sentence = next_sentence
    # print(sentence)
        
def plot(p):
    for c in sentence:
        if c == "F":
            p.forward(len_seg)
        elif c == "+":
            p.left(a)
        elif c == "-":
            p.right(a)

Das Ergebnis gleicht nun endlich der ersten Peano-Kurve aus dem Wikipedia-Artikel. Ich habe natürlich dem fehlerhaften Beitrag ein Update verpaßt, das auf diese Seite verlinkt.


(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