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 :
- on divise le segment de longueur $d$ en trois segments de longueurs égales,
- on construit un triangle équilatéral ayant pour base le segment médian de la première étape,
- 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$.
- Donner $c_0$ et sachant que $x_0=d$, calculer $x_1$ en fonction de $d$.
- Exprimer $c_{n+1}$ en fonction de $c_n$.
- En déduire $c_n$ en fonction de $n$.
- 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$.
- 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$.