Jul 03, 2024

Wiki

Python

Aide

edit SideBar

Search

TP 8

Courbe fractale

Génération de la courbe de Von Koch

Les courbes fractales constituent un bon exemple de programmes graphiques récursifs, très longs et difficiles à programmer sans récursivité. Considérons le cas de la courbe de Von Koch où un segment va être divisé en 4 segments chacun égaux à 1/3 du segment initial. On peut la créer à partir d'un segment de longueur $d$, en modifiant récursivement chaque segment de longueur $d$ de la façon suivante :

  1. on divise le segment de longueur $d$ en trois segments de longueurs égales,
  2. on construit un triangle équilatéral ayant pour base le segment médian de la première étape,
  3. on supprime le segment qui était la base du triangle de la deuxième étape.

On appelle koch(n,d) la fonction récursive permettant de construire la courbe de Von Koch à la profondeur $n$ telle que le segment initial ait pour longueur $d$ pixels.

Travail demandé

  • Compléter l'algorithme suivant :

Définition de la fonction koch(n,d) :
Si n=0 alors avancer de $d$ pixels
sinon :

exécuter koch(n-1,d/3)
tourner à gauche de 60 degrés
exécuter koch(n-1,d/3)
tourner à droite de ... degrés
exécuter koch(n-1,d/3)
tourner ...
...

Prolongement mathématique

On note

  • $c_n$ le nombre de segments formant la courbe de Von Koch d'ordre $n$
  • $x_n$ la longueur de la courbe de Von Koch d'ordre $n$.
  • $A_n$ l'aire du flocon de Von Koch d'ordre $n$.
  1. Donner $c_0$ et sachant que $x_0=d$, calculer $x_1$ en fonction de $d$.
  2. Exprimer $c_{n+1}$ en fonction de $c_n$.
  3. En déduire $c_n$ en fonction de $n$.
  4. Quelle est la longueur de chaque segment formant la courbe de Von Koch d'ordre $n$ ? En déduire $x_n$ en fonction de $n$ et de $d$.
  5. Exprimer $A_{n+1}$ en fonction de $A_n$.
    En déduire l'expression explicite de $A_n$ en fonction de $n$ et de $d$.

Page Actions

Recent Changes

Group & Page

Back Links