Théorie du chaos

GW-Basic, utilisé par PC-Basic

Programme avec Graphique et Texte

PC-BASIC

Si vous avez entendu parler de l’effet papillon – l’idée selon laquelle un papillon battant des ailes quelque part dans le monde peut avoir d’une manière ou d’une autre un effet météorologique mesurable ailleurs sur la Terre – alors vous avez au moins une certaine familiarité avec la théorie du chaos.

Les systèmes mathématiques dont le comportement est extrêmement sensible aux conditions initiales peuvent être étudiés en utilisant la théorie du chaos.

Le mathématicien Edward Lorenz, qui a étudié les prévisions météorologiques, a été l'un des pionniers de la théorie du chaos.

 Benoit Mandelbrot en est un autre, probablement mieux connu pour son ensemble de Mandelbrot, qui produit la fractale la plus reconnaissable au monde.

Si cela vous intéresse, l'ensemble de Mandelbrot est une itération d'un polynôme donné par

Zn+1 = Zn² + C

représenté graphiquement sur le plan complexe, c'est-à-dire que vous devez prendre en compte des solutions à la fois réelles et imaginaires.

Son autosimilarité, caractéristique clé des fractales, est époustouflante par sa complexité.

CHAOS.BAS renforce l’idée selon laquelle de petits changements dans les conditions initiales conduisent à des résultats très différents.

Le programme demande à l'utilisateur à la fois de construire un polynôme convexe de n côtés et de saisir un facteur multiplicatif. Des motifs chaotiques colorés résultent de ces variations dans les conditions définies par l'utilisateur.

Après avoir construit au clavier le polynôme convexe (voir lignes 100 à 400), les formules résultant du chaos se trouvent aux lignes 730 et 740.

Davantage de théorie du chaos peuvent être explorées en utilisant GW-BASIC.

Voici un défi : construire une représentation visuelle de l'ensemble de Mandelbrot à différents niveaux de « grossissement ».

CHAOS.BAS

10 SCREEN 9: COLOR 15,0: CLS: KEY OFF: RANDOMIZE TIMER
20 DIM XX(15), YY(15)
25 CLS:X=50: Y=50: SIDES=0: COUNTER=1: FACTOR=0
30 PRINT"LE JEU DU CHAOS"
40 PRINT:PRINT"Vous devez dessiner un polygone convexe de n côtés, où n est supérieur à 3 et aucun"
50 PRINT"supérieur à 15. Ensuite, vous devez tracer un point initial."
55 PRINT"Vous devrez également donner un facteur multiplicatif. Si le facteur est 0.5"
56 PRINT"alors le point parcourra la moitié de la distance jusqu'au point suivant."
60 PRINT"Appuyez sur ESC pour recommencer"
65 PRINT"Appuyez sur ESPCE pour afficher le polygone"
70 INPUT"Combien de côtés aura votre polygone (entrez 0 pour quitter)";SIDES
75 IF SIDES=0 THEN CLS:END
80 IF SIDES>15 THEN 70
90 IF SIDES<3 THEN 70
95 INPUT"Quel « facteur » multiplicatif utiliser ? (Indice : 0,5 est la norme)";FACTOR
100 CLS
110 I$=INKEY$
115 PSET(X,Y),15
120 IF I$="" THEN 110
125 PRESET(X,Y)
130 IF I$=CHR$(27) THEN 25
140 IF I$="D" OR I$="d" THEN X=X+4
150 IF I$="A" OR I$="a" THEN X=X-4
160 IF I$="W" OR I$="w" THEN Y=Y-4
170 IF I$="Z" OR I$="z" THEN Y=Y+4
200 IF I$=" " AND COUNTER>SIDES THEN 700
210 IF I$=" " AND COUNTER<=SIDES THEN GOSUB 500
300 PSET(X,Y),15
400 GOTO 110
500 PRESET(X,Y)
510 CIRCLE(X,Y),4,15
515 XX(COUNTER)=X:YY(COUNTER)=Y
520 X=X+8:Y=Y+8
530 COUNTER=COUNTER+1
600 RETURN
700 PSET(X,Y),15
710 WHILE(INKEY$<>CHR$(27))
720 NEX=INT(1+SIDES*RND(1))
730 X=(XX(NEX)+X)*FACTOR
740 Y=(YY(NEX)+Y)*FACTOR
750 PSET(X,Y),NEX
760 WEND
770 GOTO 25

 

 

 

 

 

 

 

Recherche personnalisée