Salut à tous !
J'ai réussi à créer un algorithme permettant d'afficher une portion de fractale générée à l'aide d'un nombre complexe C.
Pour comprendre cet algorithme, le niveau de terminale minimum est nécessaire, car il nécessite des connaissances sur les nombres complexes, sur les suites arithmétiques, et les fractales.
Cet algorithme utilise la suite Z(n)=Z(n+1)+C
C'est à vous d'entrer les caractéristques du nombre complexe C, à savoir sa partie réelle a et sa partie imaginaire b (C=a+bi).
Vous devrez ensuite entrer ce que j'ai appelé la "sensibilité", qui désigne à partir de quel nombre on n'active plus les pixels du graphique. Je vous conseille de tatonner entre 1 et 20, afin de voir quelque chose. Il est important également que a et b soient compris entre -1 et 1, ou la fractale ne se génèrera pas.
Notez aussi que la fractale met plusieurs minutes à s'afficher, car elle se génère point par point. Donc faites quelque chose en attendant, regardez une petite vidéo, et retournez voir votre calculatrice après
Autorisation : Membre
Nb de messages : 504
Inscrit le : Ven 07 Déc 2012, 20:09
Posté le : Ven 31 Juil 2015, 21:06
Salut Plimpton_
C'est un bel algorithme ! Il mériterait une optimisation de vitesse, je sais pas encore si c'est possible ici. On perd peut être des cycles dans les boucles.
Sinon, tu peux demander un nombre complexe directement en ayant enclenché la mode a+bi au préalable, puis récupérer les parties réelles et imaginaires respectivement avec real(nombre) et imag(nombre).
Ce qui nous donne :
Code
a+bi
Prompt C
imag(C->D
real(C->C
Input "SENSIBILITE:",S
-1üXmin:1üXmax
-1üYmin:1üYmax
ClrDraw
AxesAff
EtiqNAff
AffGraph
For(T,0,1E4
DelVar L-randüX
-randüZ
XüQ
ZüR
While sqrt(Q²+R²<2
L+1üL
QüA
RüB
A²-B²+CüQ
2AB+DüR
End
If L=<S
Then
Pt-On(X,Z
End
End
Merci pour ta réponse ! Ton algorithme est pas mal, mais je n'ai pas tout compris au code ^^ mais je pense que je vais utiliser le tien. Je te passe quand même la 2eme version de mon algoritme qui est assez sympa. Il faut toujours attendre environ 20 min pour voir apparaitre la fractale, mais le resultat vaut vraiment le coup, et on a une vision de la totalité de l'image
Code
Input "PART REEL C ? ",C
Input "PART IMG C ? ",D
Input "SENSIBILITE ? ",S
-2-->Z
-2-4/94-->X
2-->Xmax
-2-->Xmin
2-->Ymin
-2-->Ymax
EffDessin
AxesAff
EtiqNAff
AffGraph
While Z<2
0-->L
X+4/94-->X
If X>2
Then
-2-4/94-->X
Z+4/62-->Z
End
Pt-On(X,Z)
X-->Q
Y-->R
While sqrt(Q^2+R^2)<2
L+1-->L
Texte(0,0,"....
Texte(0,0,L
Q-->A
R-->B
A^2-B^2+C-->Q
2AB+D-->R
If L>(S+1)
Then
9999-->Q
End
End
If L>=S
Then
Pt-On(X,Z
Else
Pt-Off(X,Z
End
End
Ce code affiche en plus en haut a gauche le nombre de boucles que fait le point actuel, et la fractale se genere point par point au lieu de proceder par points aleatoires
Plimpton_ Invité
Posté le : Lun 10 Aoû 2015, 22:14
Désolé pour le double post, je rajoute juste que la sensibilité optimale à mon gout est 15