begin process at 2012 02 16 19:19:04
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Maths

 > BIENVENUE AU PAYS DES FRACTALES...

BIENVENUE AU PAYS DES FRACTALES...


 Information sur la source

Note :
9,5 / 10 - par 8 personnes
9,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Maths Niveau :Expert Date de création :13/03/2002 Date de mise à jour :10/12/2002 19:18:09 Vu / téléchargé :3 203 / 264

Auteur : SibosisITS

Ecrire un message privé
Commentaire sur cette source (13)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
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

  • '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
'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    :)  

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip Source avec une capture NUAGE DE MOUSTIQUE (OU AUTRE)
Source avec Zip Source avec une capture BARRE DE PROGRESSION PERSONNALISABLE
Source avec Zip SIMULATION D'UN PROCESSEUR
Source avec Zip GÉNÉRATEUR DE LABYRINTHE V1.2
Source avec Zip Source avec une capture INTELLIGENCE ARTIFICIELLE POUR VOITURE

 Sources de la même categorie

Source avec Zip Source avec une capture CONVERTISSEUR HEXAVIGÉSIMAL par shaeks
Source avec Zip Source avec une capture Source .NET (Dotnet) CRYPTOGRAPHIE AFFINE par Tigrou66
Source avec Zip Source avec une capture SCANNER FLEX par lajouad
Source avec Zip EQUATIONSECONDDEGRÉ,MATH,DEGRÉ par shadkitenge
Source avec Zip Source .NET (Dotnet) SOMME DE CHIFFRES CONTENUE DANS UN NOMBRE par alpha5

Commentaires et avis

Commentaire de ceyquem le 13/03/2002 19:49:27

très joli oui ! ton programme est bien fait
mais la vitesse du programme n'est pas étonnante. c'est le langage qui bride énormément la rapidité du logiciel.

Commentaire de lumesh le 13/03/2002 21:41:22

c +ke bien ton truc dite donc !!!!!!!!!!!!!!!!!!!!!!!!!!
moi je te met 10/10  !!!!

Commentaire de shaoni le 14/03/2002 08:32:21

c'est bizzare mais chez moi ca prend a peine 5 sec mais dans n'importe quel mode c'est toujour en noir et blanc :((

bug ?

Commentaire de DxuTAleX le 14/03/2002 14:49:28

Pas mal du tout...un peu ds le meme esprit que ma source "Tracé de fractales en VB" ms en plus poussé.
B1 joué

Commentaire de SibosisITS le 14/03/2002 16:20:34

&gt;&gt; ceyquem : Je sais que c'est lent... Et je sais que c'est dû au language : mais j'espère bientôt faire appel à C++ pour accélérer tout ça (pour l'instant, je suis en train de l'apprendre : c'est que c'est plus dur que le Basic... mais plus puissant par contre...)...

&gt;&gt;lumesh : Merci !! ;^)

&gt;&gt;shaoni : dsl, je ne sais absoluement pas à quoi c'est dû pour la couleur. As-tu bein essayer de zoomer ? Car la première image est l'ensemble vu dans son ensemble (sans jeu de mot :^), et on voit très peu de couleur à ce niveau : c'est en zoomant sur les zones à la limite entre le blanc et le noir qu'apparaissent des choses intéressantes. Sinon, je ne vois pas... moi, ça marche très bien (la capture en est la preuve)...

&gt;&gt; DxuTAleX : Je n'ai pas encore vu ta source, mais j'y COURRE...

Commentaire de beeline le 14/03/2002 20:59:52

trés trés bien
chapeau ...

Commentaire de Zeroc00l le 09/04/2002 00:05:58

Moi auusi j'ai fait un pro de fractale ...Mais pas aussi bien...
Contrairement a toi moi l'utilisateur peuvent construire eux meme leur fractales ...
Je te rassure ce n'est qu'un fil ... pas mandelbroot comme toi .. (soit sur que je vais eplucher ton programme ...et qui sait ?? apporter peut etre mon grain de sel... :)
En attendant ... va fire un ptit tour ...
J'ai pas mis la source encore ..faut que jepresente tous ca ... c un peu le bordel ..et la presentation j'en parle pas ...

P.S: CHUI CONTEEEEENNNNT J'VAIS POUVOIR ENFIN SAVOIR COMMENT ON PEUT CALCULER CETTE FICHUE FRACTALE ... !!! MERCI ...
et c clair ..vive le C++ quand meme ...

Commentaire de psycho le 11/05/2002 19:18:37

franco, c un super boulot que tu as fait. G rarement vu mieux.
superbe.
bon allez j arrete les compliments.
@+
psycho

Commentaire de couriousous le 11/05/2002 23:08:56

puissant!!!

Commentaire de AntiSlash le 21/08/2002 00:52:01

Si ca t'interesse voila une petite modif de Mandelbrot que j'avais fait ya pas mal de temps... Ca crée une autre fractale que g trouvé pas mal...

    Do
        t = c * c - d * d - 0.55
        d = 2 * c * d - 0.55
        c = t
        Couleur = Couleur + 1
    Loop Until (Couleur &gt; maxIt) Or ((c ^ 2 + d ^ 2) &gt; Max)

Dans ta source ca correspond au changement des variables a et b par -0.55
Voila, continue comme ca
Bon prog...

Commentaire de AntiSlash le 02/09/2002 15:54:11

J'ai essayé avec ton prog, mais ca fai po la meme chose qu'avec le mien... tant pis...
@+

Commentaire de SibosisITS le 13/09/2002 11:01:21

  &gt;&gt; Dans très peu de temps (si ce n'est pas cet après midi, je devrais mettre une amélioration du programme, qui rend plus pratique le mode zoom (Merci à ZeroCool qui m'avait mis sur la voie ;)

   @+ et... bonne prog...    (:  Sibo  ;)

Commentaire de Zeroc00l le 02/07/2003 14:59:27

Pour ne plus avoir de limites du tout, il y aurait bien une solution ... qui consisterait à simuler les opérateurs :  + - / *    ( Y'en a d'autre de vraiment utile ?)
Si on arrive à les simuler, on pourrait avoir des nombres avec autant de précision qu'on le souhaite ! Cependant, alors que le calcul est actuellement "friand" en ressources, là il va carrément "vampiriser" le processeur, a ce stade ça dépasse la gourmandise !
Une idée à creuser tu ne trouves pas ?
Perso, j'arrive à simuler "+" , "-" , "*" avec autant de précision que je le veux (euh en fait je suis limité par le nombre de caractères dans une variable de type string, soit 32767 il me semble)
Mais "/" résiste toujours à mes tentatives ):(

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,811 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales