image image


Turtle-Graphik (4): Die Kochsche Schneeflocke

Die Koch-Kurve oder Kochsche Kurve ist ein von dem schwedischen Mathematiker Helge von Koch 1904 vorgestelltes Beispiel für eine überall stetige, aber nirgends differenzierbare Kurve. Es handelt sich bei ihr ferner um eines der ersten formal beschriebenen fraktalen Objekte. Die Koch-Kurve ist eines der am häufigsten zitierten Beispiele für ein Fraktal und wurde bei der Entdeckung als Monsterkurve bezeichnet. Die Koch-Kurve ist auch in Form der kochschen Schneeflocke bekannt, die durch geeignete Kombination dreier oder vierer Koch-Kurven entsteht.

image

Man kann die Kurve anschaulich mittels eines iterativen Prozesses konstruieren Zu Beginn besteht die Kurve aus einem einzigen Streckenstück. Die Iteration besteht nun darin, daß dieser Streckenabschnitt durch einen anderen, aus vier gleich langen Strecken bestehenden Streckenabschnitt ersetzt wird, der wie folgt aufgebaut ist: Strecke – 60° Winkel – Strecke – 120° Winkel (in der Gegenrichtung) – Strecke – 60° Winkel – Strecke. Jeder der vier neuen Streckenabschnitte hat 1/3 der Länge des ursprünglichen Streckenabschnitts. Im nächsten Schritt wird jeder der vier Streckenabschnitte durch einen Streckenabschnitt der oberen Art ersetzt. Diese Iteration wird nun beliebig oft wiederholt, wobei die Dreiecke stets zur selben Seite der Kurve hin zu errichten sind. Auf diese Weise ergibt sich eine Folge von Streckenzügen, die gegen die Koch-Kurve strebt. Im Grenzfall (nach unendlich vielen Iterationen) ist die Kochkurve unendlich lang, da der Streckenzug bei jeder Iteration um den Faktor länger wird.

Quellcode

Man kann eine näherungsweise Abbildung sowohl der Kochkurve wie auch der Schneeflocke sehr schön mit Pythons Turtle-Modul visualisieren (siehe obigen Screenshot):

import turtle as t

colors = [(150, 100, 255), (255, 100, 150), (150, 255, 100), (255, 150, 100)]
seiten = 4      # Anzahl der Seiten der Schneeflocke,
                # entweder 3 oder 4
it = 4          # Iterationstiefe, entweder 3 oder 4

wn = t.Screen()
wn.colormode(255)
wn.bgcolor(50, 50, 50)
wn.setup(width = 400, height = 400)
wn.title("Kochsche Schneeflocke")

def kochkurve(length, d):
    if d == 0:
        koch.forward(length)
    else:
        kochkurve(length/3, d-1)
        koch.left(60)
        kochkurve(length/3, d-1)
        koch.right(120)
        kochkurve(length/3, d-1)
        koch.left(60)
        kochkurve(length/3, d-1)


def schneeflocke(length, d):
    for i in range(seiten):
        koch.pencolor(colors[i % 4])
        kochkurve(length, d)
        koch.right(360/seiten)

koch = t.Turtle()
koch.pensize(1)
koch.penup()
koch.speed(0)
koch.goto(-100, 100)
koch.pendown()
schneeflocke(200, it)

wn.mainloop()

Die Kochkurve wird spätestems seit Mandelbrot zur Simulation von Küstenlinien herangezogen. Und so ist die Kochsche Schneeflocke oder Insel auch ein Beispiel für ein Fläche mit einem endlichen Flächeninhalt aber einer unendlich langen Begrenzug.

Die Kochsche Insel oder Schneeflocke ist im Gegensatz zur Kochkurve nicht selbstähnlich.

Literatur


(Kommentieren) 

image image



Ü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


Werbung


image  image  image
image  image  image


image