Die Peanokurve


 

 

Python-Turtle-Code

 

# Peano-Kurve
from turtle import *
from time import *
# Subroutine peano
def peano(h,a,lev):
if lev > 0:
peano(h,a,lev-1)
forward(h)
peano(h,0-a,lev-1)
forward(h)
peano(h,a,lev-1)
right(a)
forward(h)
right(a)
peano(h,0-a,lev-1)
forward(h)
peano(h,a,lev-1)
forward(h)
peano(h,0-a,lev-1)
left(a)
forward(h)
left(a)
peano(h,a,lev-1)
forward(h)
peano(h,0-a,lev-1)
forward(h)
peano(h,a,lev-1)
# Programm
reset
pensize(2)
speed("fastest")
penup()
goto(-450,-380)
pendown()
pencolor("darkblue")
shape("turtle")
hideturtle()
setheading(90)
time.sleep(3)
showturtle()
peano(6,90,4)
exitonclick()

 

 

Das Grundmotiv

 

Das Einheitsquadrat wird sukzessive in neun kongruente Teilquadrate zerlegt. Das Grundmotiv der Peanoschen Kurve besteht aus dem im nachfolgenden Bild links skizzierten fünfseitigen Polygon, beginnend im ersten Teilquadrat links unten und endend im letzten Teilquadrat rechts oben. Das rechte Bild zeigt den zweiten Iterationsschritt.

 

Das Grundmotiv ist entnommen aus H. Sagan: Space filling curves, Kapitel 3, Abschnitt 3.3, Seite 35.

 

 

 

KTurtle-Code zur Erzeugung der einzelnen Schritte

 

Die nachfolgenden Abbildungen zeigen die Iterationsschritte 1 bis 4 sowie 5.

 

Hier jetzt ein KTurtle-Code für den 4. Schritt:

 

learn peano $h,$a,$lev {
if $lev == 0 {
break
}
else {
peano $h,$a,$lev-1
forward $h
peano $h,0-$a,$lev-1
forward $h
peano $h,$a,$lev-1
turnright $a
forward $h
turnright $a
peano $h,0-$a,$lev-1
forward $h
peano $h,$a,$lev-1
forward $h
peano $h,0-$a,$lev-1
turnleft $a
forward $h
turnleft $a
peano $h,$a,$lev-1
forward $h
peano $h,0-$a,$lev-1
forward $h
peano $h,$a,$lev-1
}
}
}
reset
direction 0
canvassize 400,400
go 10,390
penwidth 2
pencolor 220,50,20
peano 4.75,90,4