Objectif :
Dessiner et programmer des fractales avec le module Turtle de Python .
Le module Turtle est pré-installé dans Python, il suffit donc de l'appeler pour l'utiliser.
Lance . Crée un nouveau fichier (TonNOM_TPpython4.py) pour écrire et enregistrer tes programmes et tape :
from turtle import*
Voici la liste des méthodes de turtle que nous allons utiliser :
Une fractale est une courbe formée de figures qui se répètent à l'infini et si on zoome sur une partie de la fractale, on retrouve toute la fractale.
Voici un diaporama qui retrace toutes les étapes de construction de notre fractale :
En conclusion : tracer l'image fractale d'ordre n peut être défini comme une suite par récurrence :
Voici les images d'ordre 0 et 1 de notre courbe fractale :
La première chose à programmer est donc ces 2 figures.
On utlise des fonctions de variable la longueur.
from turtle import*
speed(0)
left(90)
color("red")
def segment(longueur):
forward(longueur)
segment(200)
def motif(longueur):
color("red")
segment(longueur/2.0)
color("green")
left(45)
segment(longueur/2.0)
penup()
backward(longueur/2.0)
right(90)
pendown()
segment(longueur/2.0)
penup()
backward(longueur/2.0)
left(45)
pendown()
segment(longueur/2.0)
motif(200)
AttentionIl faut que la tortue (le triangle) soit dans la bonne position et au bon endroit à la fin du dessin.
Cela revient à programmer une suite définie par récurrence avec une fonction récursive.
Si j'appelle arbre ma fonction, je reprends la fonction motif et je remplace tous les segments verts par arbre.
def arbre(longueur, n):
if n == 0:
segment(longueur)
else:
color("red")
segment(longueur/2.0)
color("green")
left(45)
arbre(longueur/2.0,n-1)
penup()
backward(longueur/2.0)
right(90)
pendown()
arbre(longueur/2.0,n-1)
penup()
backward(longueur/2.0)
left(45)
pendown()
arbre(longueur/2.0,n-1)
arbre(200,4)