Vous êtes sur la page 1sur 3

Flocon de von Koch.

En 1904, Helge von Koch (1870-1924 - Sude) publie l'article : Sur une courbe continue sans tangente,
obtenue par une construction gomtrique lmentaire qui dcrit la ligne actuellement connue sous le nom de
'flocon de von Koch'.

La mthode.

Pour tracer cette courbe, il faut:

Tracez un triangle quilatral


Remplacer le tiers central de chaque ct par une pointe dont la longueur de chaque ct gale aussi au
tiers du ct
Recommencer cette construction sur chaque ct des triangles ainsi forms.

Un peu d'aide.

Reprenons la construction de la premire tape:

Si on considre que les points a et b ont pour coordonnes (xa,ya) et (xb,yb), nous obtenons:

le point c (fin du premier tiers de ab) a pour coordonnes:


(xa+(xb-xa)/3,
ya+(yb-ya)/3)

le point d (fin du deuxime tiers de ab) a pour coordonnes:

(xa+2*(xb-xa)/3,
ya+2*(yb-ya)/3)

le point e (sommet du triangle construit sur le tiers central de ab) a pour coordonnes:
((xc+xd)*cos 60-(yd-yc)*sin 60,
(yc+yd)*cos 60+(xd-xc)*sin 60)

Comment faire?

Pour la mise en oeuvre de l'algorithme, on peut utiliser plusieurs techniques dont:

mmoriser les points du premier triangle P0,P1,P2 puis insrer les nouveaux points (en dcalant donc les
points existants).
Aprs la premire tape, on obtient ainsi:
P0,P1,P2,P3,P4 (l'ancien P1),P5,P6,P7,P8 (l'ancien P2),...,P12 (l'ancien P3)

Ces points peuvent tre mmoriss dans un tableau ou dans une liste chane plus approprie des
insertions/suppressions.

utiliser la rcursivit:

Dessiner(a,b,n) a et b dterminent le segment sur lequel doit tre dessin le triangle


aller en a
si n=0 alors tracer jusqu'en b il n'y a plus de triangle gnrer et on trace
sinon on ne doit pas encore tracer et on va construire le niveau suivant sur les segments ac,ce,ed,db
dterminer c point au tiers de ab
dterminer d point au deux tiers de ab
dterminer e sommet du triangle gnr sur le tiers central de ab
on va passer aux segments ac,ce,ed,db en indiquant le changement de niveau
dessiner(a,c,n-1) on fait la mme chose sur ac (premier tiers)
dessiner(c,e,n-1) on fait la mme chose sur ce (1er cote du triangle gnr)
dessiner(e,d,n-1) on fait la mme chose sur ed (2me cote du triangle gnr)
dessiner(d,b,n-1) on fait la mme chose sur ab (dernier tiers)
fsi

Notes.

Le flocon de von Koch a des longueurs successives de:


tat initial: L1 = 3 * L (3 cts de longueur L)
tat 1: L2 = 3 * 4 * (L/3) = L1 * 4/3 (12 cts de longueur L/3)
tat 2: L3 = 3 * 4 * 4 * (L/9) = L2 * 4/3 (48 cts de longueur L/9)

....

Cette longueur tend donc vers l'infini puisque multiplie chaque tape par 4/3>1. De plus, chacun de ses
points devient un point anguleux et donc la drive n'y existe pas. On se trouve ainsi en prsence d'une courbe
de longueur infinie et 'drivable nulle part', dlimitant une surface finie (infrieure celle du cercle circonscrit
au triangle initial).

Les implmentations en Delphi.

Cliquez ici pour charger la version avec tableau.


Cliquez ici pour charger la version avec liste chane.
Cliquez ici pour charger la version rcursive.
Cliquez ici pour charger une version rcursive avec 'interprteur de commande' (tortue graphique).

Page prcdente.
Page d'accueil.

Vous aimerez peut-être aussi