Construction de la courbe de Von Koch (programme en langage BASIC) |
Il est aisé de construire les premières approximations du flocon de Von Koch. Rappelons l'algorithme : la figure initiale est un triangle équilatéral ABC de côté a.
Les approximations graphiques ci-dessous ont été obtenues par le programme en langage BASIC décrit ci-après (qui avait l'immense avantage de posséder de puissantes instructions graphiques). Ce sont les premières approximations dune courbe fractale de Jordan nadmettant de tangente en aucun point.
Benoît Mandelbrot et les courbes fractales : »
Programme BASIC, en attendant une version graphique de JavaScript ... » langage Basic |
DIM
x(4096),y(4096)
'nombre
de points. Au-delà, on ne distingue plus rien WHILE 1
n=1
co=.5 : si=SQR(3)/2
'cosinus
et sinus de la rotation
x(0)=100:y(0)=350:x(1)=500:y(1)=350
'côté
initial
CLS
MOVETO x(0),y(0)
'point
de départ, puis 1, 4, 16,..., ..., 4n points
FOR
i=1 TO n
LINETO x(i),y(i)
NEXT i
WHILE INKEY$="":WEND
FOR i=n TO 1 STEP -1
'on
boucle en décroissant
x(4*i)=x(i):y(4*i)=y(i)
'sinon on écrase les valeurs
NEXT
i
n= 4*n
'on
subdivise
FOR
i=0 TO n-4 STEP 4
dx=(x(i+4)-x(i))/3:dy=(y(i+4)-y(i))/3
'on
coupe en 3
x(i+1)=x(i)+dx:x(i+3)=x(i)+2*dx
'on
part du 1/3 et on termine aux 2/3
y(i+1)=y(i)+dy:y(i+3)=y(i)+2*dy
x(i+2)=co*dx-si*dy+x(i+1)
'on
obtient le nouveau point,
y(i+2)=si*dx+co*dy+y(i+1)
'sommet du triangle
équilatéral
NEXT
i
'par rotation de 60°.
WEND
Courbe de Peano : »