ChronoMath, une chronologie des MATHÉMATIQUES
à l'usage des professeurs de mathématiques, des étudiants et des élèves des lycées & collèges

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.

  1. Sur chaque côté (comme [AB], on construit, "au milieu" et à l'extérieur, le triangle équilatéral de côté a/3 et on supprime la base (comme [JK] ci-dessous);
  2. On réitère cette construction sur chacun des 4 segments [AJ], [JL], [LK] et [KB] résultant de la transformation.

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 d’une courbe fractale de Jordan n’admettant 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
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

WHILE 1
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 : »


© Serge Mehl - www.chronomath.com