Obtenir une fractale avec la tortue

Le module turtle permet de retrouver les joies antiques de la tortue logo. Nous allons l'utiliser pour dessiner une courbe de Peano.

Pour se déplacer, on peut utiliser un goto( , ) ou alors choisir une orientation absolue avec les setheading() ou relative avec les left() ou right()


from turtle import *
import time

#partir a 45 degres et parcourir 100 pixels
left(45)
forward(100)
# aller au point de coordonnees (-20,-70)
goto(-20,-70)

#s orienter vers le nord et parcourir 50 px
setheading(90)
forward(50)
# tourner de 60 degres a droite et parcourir 50 px
right(60)
forward(50)
# s arreter 10 secondes
time.sleep(10)
#fermer la fenetre
clear()

Voir la doc du module turtle

Le motif de base codé par une chaîne de caractères

On travaille dans un carré dont la diagonale mesure 300 px

Coder les instructions données à la tortue, sauf la première avec une chaîne de caractères dont les éléments sont des f (forward), des r (right(90) et des l (left(90)

Itérations sur le motif de base

On va maintenant remplacer chaque segment par le motif de base, ce qui signifie que chaque f sera remplacé par fdfgfgfgfdfdfdfgf, les f correspondant à un segment trois fois plus petit que le précédent.

Après une première itération, on obtient cette figure, codée par la chaîne fdfgfgfgfdfdfdfgfdfdfgfgfgfdfdfdfg fgfdfgfgfgfdfdfdfgfgfdfgfgfgfdfdfd fgfgfdfgfgfgfdfdfdfgfdfdfgfgfgfdfd fdfgfdfdfgfgfgfdfdfdfgfdfdfgfgfgfd fdfdfgfgfdfgfgfgfdfdfdfgf

Pour remplacer tous les éléments d'une chaîne par une chaîne, on utilise la méthode replace()


chaine=chaine.replace("f","fdfgfgfgfdfdfdfgf")

Un script

Faire un script Python permettant de dessiner n'importe quelle étape de la construction de la courbe de Peano.

Il suffit d'augmenter la valeur de iterpour avoir un objet fractal plus complexe mais rapidement le temps de création de la courbe devient très long

fait le 24 novembre 2009