Bienvenue au pays des fractales...

Description

FRACTMONDE 3.2 (et des poussières)

Nouveauté : Légère Optimisation de l'algorithme de rendu pour Mandelbrot seulement (les julias, ce sont pas les même symétries)

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- PROCHAINEMENT -
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  • Réduction de la limitation du zoom maximum (due aux limites du control PictureBox) (j'ai toujours pas trouvé comment *grrr**)=
  • La procédure de calcul va sûrement passer en C++ (faut juste que je m'y mette lol)
  • Ajout du paramètre de rotation de la fenêtre (rotation du cadre de zoom) (j'y suis presque)
  • Peut-être de nouveaux ensembles (Markus-Lyapunov et celles de Newton)
  • Interface MDI pour plus de maniabilité... (gros morceau)
  • Et le fin du fin (mais ça, ça va me prendre un peu de temps, car il faut que je trouve le moyen de le faire) : Création de vidéos sur les ensembles. (si quelqu'un sait comment on fait, à partir d'une séquence d'images bmp, je suis preneur...)

Source / Exemple :


'Tout est dans le ZIP !!

'*****************************

'SuiteCalc : Calcul de vitesse de divergence'

'Cette fonction constitue le coeur du programme : c'est elle qui fait tout
'le boulot !!!

'La boucle While est interrompu lorsque le module d'un élément de la suite
'est supérieur ou égal à 2, signe de la divergence de la suite. Je laisse
'le soin de la démonstration à ceux qui voudrait s'y atarder ;^).

Function SuiteCalc(Z As Double, ZI As Double, ByRef a As Double, ByRef b As Double, ByRef c As Integer)
  Dim Z1 As Double, ZI1 As Double, Tmp As Double
  Z1 = Z: ZI1 = ZI
  While c < MAX_Rec And (Z1 * Z1 + ZI1 * ZI1) < 4
    Tmp = Z1 * Z1 - ZI1 * ZI1 + a
  'Réalise les opérations sur les complexes : Z(n+1)= a+ ib + Z(n)^2
    ZI1 = 2 * Z1 * ZI1 + b
    Z1 = Tmp
    c = c + 1
  Wend
End Function

Conclusion :


Si vous augmentez le niveau de récurrence, le rendu sera d'autant plus long que votre zone de zoom comportera de zones noires (parce que pour ces zones, la fonction SuiteCalc va au bout des "Max_Rec" boucles).
Si vous faites un zoom sur une petite zone qui n'est pas entièrement noires et que le rendu ne donne presque que du noir, c'est peut-être que le niveau de récurrence est trop faible : ajustez le au fur et à mesure que le rendu se fait pour trouver celui qui donne le meilleur résultat..
Enfin, si, après un zoom, lorsque vous lancez le calcul, seule une ligne sur deux est colorée, ou un point sur deux, ou pire encore, c'est que vous avez atteind la limite de zoom due, je l'ai dit plus haut, aux limites même du contrôle PictureBox et de la procédure 'Scale'...
Faites moi part de vos remarques et suggestions, je les attends !!

(: Sibo :)

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.