Le triangle de Sierpinsky

Ce deuxième exercice a pour but de vous faire tracer une fractale appelée triangle de Sierpinsky.

Téléchargez le fichier « à trous » ci-dessous et glissez le dans votre dossier Recursivite > Fractales.

Le processus de base

Le triangle de Sierpinski est défini de la manière suivante :

  • On part d'un triangle équilatéral colorié (étape 0) :

  • puis on enlève le triangle central (étape 1) :

  • Dans cette figure transformée, l'aire coloriée vaut trois fois l'aire non coloriée.

Complétez le code de la fonction dessine_triangle() qui trace un triangle équilatéral de longueur de côté cote.

1
def dessine_triangle(stylo, cote):
2
    """
3
    stylo - une tortue
4
    cote, int, entier strictement positif, longueur d'un côté du triangle
5
    Sortie: None - La tortue trace un triangle équilatéral de longueur de côté cote
6
    """
7
    pass

Complétez la définition de la fonction etape() qui permet de représenter la figure de l'étape n°1.

1
def etape(stylo, cote):
2
    """
3
    stylo - une tortue
4
    cote - int, entier strictement positif, longueur du segment initial
5
    Sortie: None - La tortue trace une étape du triangle de Sierpinsky
6
    """
7
    pass

La répétition

On réitère ensuite le processus précédent.

  • Étape 2 :

  • Étape 3 :

  • ...

En vous inspirant du travail réalisé dans la question précédente, complétez la définition récursive de la fonction Sierpinski() qui permet de réaliser ces figures.

Attention, il ne faut pas faire appel à la fonction etape(), il faut s'inspirer de sa structure.

1
def Sierpinski(stylo, n, cote):
2
    """
3
    stylo - une tortue
4
    n - int, nombre d'étapes à réaliser
5
    cote - int, entier strictement positif, longueur du segment initial
6
    Sortie: None - La tortue trace n étapes de la courbe  de VonKoch
7
    """
8
    pass

ExempleExemple d'appel

L'appel Sierpinski(sophie, 4, 400) permet de tracer l'image ci-dessous :