/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        E T U D E   D E   L A   C O M P L E X I T E   S T R U C T U R E L L E                                                      */
/*        D E   L ' E N S E M B L E   D E   M A N D E L B R O T  :                                                                   */
/*                                                                                                                                   */
/*                                                                                                                                   */
/*        Author of '$xrC/ObjetComplexe.S____1$vv$c' :                                                                               */
/*                                                                                                                                   */
/*                    Jean-Francois Colonna (LACTAMME, 20130727100842).                                                              */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

#ifdef    COMMENTS
#         undef     COMMENTS
#else
#endif

#define   COMMENTS  "Ensemble de Mandelbrot (format octet) -fausses couleurs-"

#include  "images_1octet.01.vv.I"

#include  "complexes.01.vv.I"

#define   DEFINE_01 "-DITERATIONS=2"
#define   DEFINE_02 "-DITERATIONS=3"
#define   DEFINE_03 "-DITERATIONS=4"
#define   DEFINE_04 "-DITERATIONS=5"
#define   DEFINE_05 "-DITERATIONS=6"
#define   DEFINE_06 "-DITERATIONS=7"
#define   DEFINE_07 "-DITERATIONS=8"
#define   DEFINE_08 "-DITERATIONS=9"
#define   DEFINE_09 "-DITERATIONS=10"
#define   DEFINE_10 "-DITERATIONS=11"
#define   DEFINE_11 "-DITERATIONS=12"
#define   DEFINE_12 "-DITERATIONS=13"
#define   DEFINE_13 "-DITERATIONS=14"
#define   DEFINE_14 "-DITERATIONS=15"
#define   DEFINE_15 "-DITERATIONS=16"
#define   DEFINE_16 "-DITERATIONS=17"

#ifndef   ITERATIONS
#         define    ITERATIONS                                                                                                          \
                              (16)
#else
#endif

int       iterations=ITERATIONS;

#ifndef   SEUIL
#         define    SEUIL                                                                                                               \
                              (4.0)
#else
#endif

double    seuil=SEUIL;
                                        /* Introduit le 20130803135924...                                                            */

#define   XG                                                                                                                            \
                    (-2.00)
#define   XD                                                                                                                            \
                    (0.50)
                                        /* Extremites Gauche et Droite sur l'axe des 'X'.                                            */
#define   YB                                                                                                                            \
                    (-1.25)
#define   YH                                                                                                                            \
                    (1.25)
                                        /* Extremites Bas et Haut sur l'axe des 'Y'.                                                 */
MAIN(
          {
          complexe  C;
          complexe  Zn;
          complexe  z1;

          for       (y=Ymin ; y <= Ymax ; y=ADD2(y,1))
                    {
                    for       (x=Xmin ; x <= Xmax ; x=ADD2(x,1))
                              {
                              int       index=1;
                              int       iterer=VRAI;
                                        /* Variables d'iterations...                                                                 */

                              Cinit(C
                                   ,ADD2f(MUL2f(DIVIf((double)x,(double)dimX),SOUSf(XD,XG)),XG)
                                   ,ADD2f(MUL2f(DIVIf((double)y,(double)dimY),SOUSf(YH,YB)),YB)
                                    );
                                        /* Initialisation du point complexe courant 'C' sur le point {x,y}.                          */

                              Cinit(Zn,0.0,0.0);
                                        /* Initialisation de la suite Zn.                                                            */

                              while     (iterer == VRAI)
                                        {
                                        Cproduit(z1,Zn,Zn);
                                        Csomme(Zn,z1,C);
                                        Cdeborde(Zn);
                                        /* Iteration de la suite Zn.                                                                 */

                                        if        ((index >= iterations) || (Cmodule2(Zn) > seuil))
                                                  {
                                                  STORE_IMAGE_PLAN(x,y,DIVI(MUL2(index,COULEURS),iterations));
                                                  iterer=FAUX;
                                                  }
                                        else
                                                  {
                                                  index=ADD2(index,1);
                                                  }
                                        }
                              }
                    }

          SORTIE_DU_FICHIER_IMAGE;
          EDITER_LES_COMPTEURS_DES_FONCTIONS;
          }
     )



Copyright © Jean-François Colonna, 2013-2021.
Copyright © CMAP (Centre de Mathématiques APpliquées) UMR CNRS 7641 / Ecole Polytechnique, 2013-2021.