calcul des zooms le la fractale de Mandelbrot

Présentation
Je vous donnes l'application complète, ce qui vous permet de modifier et recompiler.réalisé sur une version basique de visual C, il vous sera facile de maîtriser
une re compilation,Seuls les deux fichiers C méritent d'y regarder, sachant que cette merveille à zoom infini, ne reposes que sur une seule formule
et n'utilises que 16 couleurs ! c'est trop génial.
Il va de sois que je donnes ce code pour un public trés averti, capable d'en comprendre le sens ;-)
Bonne découverte.
Christele

Nota installation:
Il faut créer un répertoire c:\jpbcpp y mettre le zip,puis le dé zipper
allez dans c:\jpbcpp\adessin\release\ et essayer d'exécuter adessin.exe
si vous avez cela (voir image), cliquez la ou j'ais mis un rond rouge, et après un moment le zoom s'affiche !



Téléchargement
Compatibilité
Windows
1  1 
Téléchargé 10 fois Voir les 4 commentaires
Détails
Catégories : Codes sources C
Voir tous les téléchargements de l'auteur
Licence : Libre
Date de mise en ligne : 15 juillet 2013




Avatar de Neckara Neckara - Expert éminent sénior https://www.developpez.com
le 16/07/2013 à 8:23
Bonjour,

Pourquoi utiliser des #define plutôt qu'un enum dans le fichier snoowrc.h ?

Code : Sélectionner tout
1
2
#include <snoowin.h> 
#include <snoowrc.h>
Tu as de la chance que ton compilateur soit gentil.
snoowin.h et snoowrc.h font parti de tes sources et ne sont pas dans les répertoires standard de recherches, tu devrais plutôt avoir :
Code : Sélectionner tout
1
2
#include "../h/snoowin.h" 
#include "../h/snoowrc.h"
On a aussi encore pas mal de méchantes variables globales, pas d'indentations, pas de commentaires pour les fonctions.

Code : Sélectionner tout
1
2
LeRepDuPrg[x]='\0'; 
     LeRepDuPrg[x+1]=0;
? pourquoi utiliser un coup '\0' et juste en dessous 0 ?

LONG APIENTRY WndProcMain(HWND hDlg,UINT msg,UINT wParam,LONG lParam) est beaucoup trop longue.

Code : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
switch (msg) 
  { 
  case WM_COMMAND : 
       if(LOWORD (lParam)) 
        { 
         DestroyWindow(hDlg); 
         } 
       break ; 
  
  default: ;  
 }
A quoi sert "default" ici ?

Pourquoi mettre un return; à la fin d'une fonction ?

Code : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
if (cou==1) {LeCoulR=0;LeCoulV=0;LeCoulB=160;} 
            if (cou==2) {LeCoulR=0;LeCoulV=167;LeCoulB=0;} 
            if (cou==3) {LeCoulR=0;LeCoulV=167;LeCoulB=160;} 
            if (cou==4) {LeCoulR=160;LeCoulV=0;LeCoulB=0;} 
            if (cou==5) {LeCoulR=160;LeCoulV=0;LeCoulB=160;} 
            if (cou==6) {LeCoulR=160;LeCoulV=80;LeCoulB=0;} 
            if (cou==7) {LeCoulR=160;LeCoulV=167;LeCoulB=160;} 
            if (cou==8) {LeCoulR=80;LeCoulV=80;LeCoulB=80;} 
            if (cou==9) {LeCoulR=80;LeCoulV=80;LeCoulB=255;} 
            if (cou==10) {LeCoulR=80;LeCoulV=248;LeCoulB=80;} 
            if (cou==11) {LeCoulR=80;LeCoulV=248;LeCoulB=255;} 
            if (cou==12) {LeCoulR=255;LeCoulV=80;LeCoulB=80;} 
            if (cou==13) {LeCoulR=255;LeCoulV=80;LeCoulB=255;} 
            if (cou==14) {LeCoulR=255;LeCoulV=248;LeCoulB=80;} 
            if (cou==15) {LeCoulR=255;LeCoulV=248;LeCoulB=255;} 
            if (cou==0) {LeCoulR=0;LeCoulV=0;LeCoulB=0;}
Pas de else if ?
Avatar de LittleWhite LittleWhite - Responsable 2D/3D/Jeux https://www.developpez.com
le 16/07/2013 à 9:41
Bonjour

Pas de else if

Surtout, pas de switch() / case ?
Avatar de droggo droggo - Expert confirmé https://www.developpez.com
le 16/07/2013 à 11:57
Lai,
Citation Envoyé par christele_r  Voir le message
Bonjour,

Je vous propose un nouvel élément à utiliser : calcul des zooms le la fractale de Mandelbrot

Je vous donnes l'application complète, ce qui vous permet de modifier et recompiler.réalisé sur une version basique de visual C, il vous sera facile de maîtriser

une re compilation,Seuls les deux fichiers C méritent d'y regarder, sachant que cette merveille à zoom infini, ne reposes que sur une seule formule

et n'utilises que 16 couleurs ! c'est trop génial.

Il va de sois que je donnes ce code pour un public trés averti, capable d'en comprendre le sens ;-)

Bonne découverte.

Christele

Nota installation:

Il faut créer un répertoire c:\jpbcpp y mettre le zip,puis le dé zipper

allez dans c:\jpbcpp\adessin\release\ et essayer d'exécuter adessin.exe

si vous avez cela (voir image), cliquez la ou j'ais mis un rond rouge, et après un moment le zoom s'affiche !

Qu'en pensez-vous ?

Ça manque aussi beaucoup de modestie.

D'autre part, l'"infini" n'existe pas dans le monde réel, et encore moins en informatique pour les nombres réels.
Avatar de christele_r christele_r - Membre émérite https://www.developpez.com
le 16/07/2013 à 21:29
Citation Envoyé par droggo  Voir le message
Lai,
Ça manque aussi beaucoup de modestie.
D'autre part, l'"infini" n'existe pas dans le monde réel, et encore moins en informatique pour les nombres réels.

Heu... je parle de la formule de Mandelbrot,pas de mon code bien sur.

D'autre part oui sa formule aussi simple parait'elle permet un zoom infini, je te conseilles la lecture de sa théorie.Mais je reconnais ne pas pouvoir en débattre plus que cela.

Pour le reste (mon code en général), j'avoue ne pas avoir votre clarté ni votre rigueur syntaxique. C'est ce qu'a compris Franck.H qui vient de m'envoyer "code.c" revu et réorganiser avec rigueur.. je vais donc en m'inspirant de son travail, reprendre mes trois envoie, et les changer, au fur et à mesure. laissez moi un peut de temps,merci.
Developpez.com décline toute responsabilité quant à l'utilisation des différents éléments téléchargés.
Contacter le responsable de la rubrique C