/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        A T T R A C T E U R   D E   H E N O N  :                                                                                   */
/*                                                                                                                                   */
/*                                                                                                                                   */
/*        Author of '$xrk/henon.11$K' :                                                                                              */
/*                                                                                                                                   */
/*                    Jean-Francois COLONNA (LACTAMME, 1992??????????).                                                              */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        I N T E R F A C E   ' listG '  :                                                                                           */
/*                                                                                                                                   */
/*                                                                                                                                   */
/*        :Debut_listG:                                                                                                              */
/*        :Fin_listG:                                                                                                                */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        D I R E C T I V E S   S P E C I F I Q U E S   D E   C O M P I L A T I O N  :                                               */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
@define   PRAGMA_CL_____MODULE_NON_OPTIMISABLE

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        F I C H I E R S   D ' I N C L U D E S  :                                                                                   */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
#include  INCLUDES_BASE

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        D E F I N I T I O N S   D E   B A S E   E T   U N I V E R S E L L E S  :                                                   */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
#include  xrk/attractor.11.I"
#include  xrv/particule.41.I"

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*                                                                                    3                                              */
/*        D E F I N I T I O N   D E   L ' E S P A C E   P H Y S I Q U E   D A N S   R     ( D E B U T )  :                           */
/*                                                                                                                                   */
/*                                                                                                                                   */
/*        Nota :                                                                                                                     */
/*                                                                                                                                   */
/*                    Les extrema des coordonnees {x,y,z}                                                                            */
/*                  ainsi que ceux de leurs differentielles                                                                          */
/*                  {dx,dy,dz} sont fixees un peu arbitrairement                                                                     */
/*                  et sans etre parametrees. Elles ont ete                                                                          */
/*                  obtenues a l'aide du programme '$xtc/henon.01$c'.                                                                */
/*                                                                                                                                   */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
#define   hXmin_ESPACE                                                                                                                  \
                    PARE(-1.30)
#define   hYmin_ESPACE                                                                                                                  \
                    PARE(-1.30)
#define   hZmin_ESPACE                                                                                                                  \
                    PARE(0.0)
                                        /* Definition du "coin" inferieur-gauche-arriere de l'espace physique.                       */

#define   hXmax_ESPACE                                                                                                                  \
                    PARE(1.30)
#define   hYmax_ESPACE                                                                                                                  \
                    PARE(1.30)
#define   hZmax_ESPACE                                                                                                                  \
                    PARE(1.00)
                                        /* Definition du "coin" superieur-droite-avant de l'espace physique.                         */

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*                                                                                    3                                              */
/*        D E F I N I T I O N   D E   L ' E S P A C E   P H Y S I Q U E   D A N S   R     ( D E B U T )  :                           */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
#include  xrk/attractor.12.I"
#include  xrk/attractor.1D.I"
                                        /* Uniquement pour definir 'renormaliser_arbitrairement_les_differentielles' (inutile...).   */

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        D E F I N I T I O N   D E S   D I F F E R E N T S   E S P A C E S   E T   D E   L ' E F F E T   D E   B R U M E  :         */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
#include  xrk/attractor.13.I"

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        G E N E R A T I O N   D E S   I M A G E S  :                                                                               */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
#define   NIVEAU_DE_ROUGE_DE_LA_PARTICULE                                                                                               \
                    BLANC
#define   NIVEAU_DE_VERTE_DE_LA_PARTICULE                                                                                               \
                    BLANC
#define   NIVEAU_DE_BLEUE_DE_LA_PARTICULE                                                                                               \
                    BLANC
DEFV(Local,DEFV(genere_p,INIT(niveau_de_ROUGE_de_la_particule,NIVEAU_DE_ROUGE_DE_LA_PARTICULE)));
DEFV(Local,DEFV(genere_p,INIT(niveau_de_VERTE_de_la_particule,NIVEAU_DE_VERTE_DE_LA_PARTICULE)));
DEFV(Local,DEFV(genere_p,INIT(niveau_de_BLEUE_de_la_particule,NIVEAU_DE_BLEUE_DE_LA_PARTICULE)));
                                        /* Couleur de materialisation de la particule.                                               */

#include  xrv/champs_5.14.I"

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        D E F I N I T I O N S   G E N E R A L E S   R E L A T I V E S   A   L A   V I S U A L I S A T I O N  :                     */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
#include  xrk/attractor.14.I"

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        F O N C T I O N   D E   M E M O R I S A T I O N   D U   P O I N T   C O U R A N T  :                                       */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
#include  xrk/attractor.16.I"

#define   RAYON_DE_VISUALISATION                                                                                                        \
                    FRA2(FRA10(mhXYZlongueur_ESPACE))
DEFV(Local,DEFV(Float,INIT(rayon_de_visualisation,RAYON_DE_VISUALISATION)));
                                        /* Rayon du disque materialisant une iteration. Il fut exprime longtemps sous la             */
                                        /* forme :                                                                                   */
                                        /*                                                                                           */
                                        /*                  FRA2(FRA10(FU))                                                          */
                                        /*                                                                                           */

BFonctionI

DEFV(Local,DEFV(FonctionI,memorisation_1_point_04(AXf,AYf,AZf,numero_de_l_iteration_courante)))
DEFV(Argument,DEFV(Float,AXf));
DEFV(Argument,DEFV(Float,AYf));
DEFV(Argument,DEFV(Float,AZf));
                                        /* Definition de la position {x,y,z} de l'iteration courante.                                */
DEFV(Argument,DEFV(Int,numero_de_l_iteration_courante));
                                        /* Numero de l'iteration courante afin d'attenuer eventuellement la luminance des points     */
                                        /* materialisant chaque iteration en fonction de leur numero (les premieres iterations etant */
                                        /* plus sombres, et les dernieres etant plus lumineuses).                                    */
/*-----------------------------------------------------------------------------------------------------------------------------------*/
     Bblock
#include  xrk/attractor.15.I"

     INIT_ERROR;
     /*..............................................................................................................................*/
     MEMORISATION_DU_POINT_COURANT(______NORMALISE_NIVEAU(niveau_de_ROUGE_de_la_particule)
                                  ,______NORMALISE_NIVEAU(niveau_de_VERTE_de_la_particule)
                                  ,______NORMALISE_NIVEAU(niveau_de_BLEUE_de_la_particule)
                                   );
                                        /* Memorisation du point courant en Noir et Blanc ou en Couleurs, mais uniquement s'il est   */
                                        /* visible en fonction des conditions de visualisation...                                    */
     RETU_ERROR;
     Eblock

EFonctionI

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        D E F I N I T I O N   D E   L ' A T T R A C T E U R   D E   H E N O N  :                                                   */
/*                                                                                                                                   */
/*                                                                                                                                   */
/*        Definition :                                                                                                               */
/*                                                                                                                                   */
/*                    Il est classiquement defini par                                                                                */
/*                  le systeme d'iterations :                                                                                        */
/*                                                              2                                                                    */
/*                                      x    = 1.0 + y  - 1.4 x                                                                      */
/*                                       n+1          n        n                                                                     */
/*                                                                                                                                   */
/*                                      y    = 0.3 x                                                                                 */
/*                                       n+1        n                                                                                */
/*                                                                                                                                   */
/*                  ce que l'on peut generaliser en :                                                                                */
/*                                                                                                                                   */
/*                                      x    = F (x ,y ,z )                                                                          */
/*                                       n+1    x  n  n  n                                                                           */
/*                                                                                                                                   */
/*                                                                                                                                   */
/*                                           = X                                                                                     */
/*                                                                                                                                   */
/*                                           + (X .x  + X .y  + X .z )                                                               */
/*                                               x  n    y  n    z  n                                                                */
/*                                                                                                                                   */
/*                                           + (X  .x .x  + X  .y .y  + X  .z .z )                                                   */
/*                                               xx  n  n    yy  n  n    zz  n  n                                                    */
/*                                                                                                                                   */
/*                                           + (X  .x .y  + X  .y .z  + X  .z .x )                                                   */
/*                                               xy  n  n    yz  n  n    zx  n  n                                                    */
/*                                                                                                                                   */
/*                                           + (X   .x .y .z )                                                                       */
/*                                               xyz  n  n  n                                                                        */
/*                                                                                                                                   */
/*                                                                                                                                   */
/*                                                                                                                                   */
/*                                      y    = F (x ,y ,z )                                                                          */
/*                                       n+1    y  n  n  n                                                                           */
/*                                                                                                                                   */
/*                                                                                                                                   */
/*                                           = Y                                                                                     */
/*                                                                                                                                   */
/*                                           + (Y .x  + Y .y  + Y .z )                                                               */
/*                                               x  n    y  n    z  n                                                                */
/*                                                                                                                                   */
/*                                           + (Y  .x .x  + Y  .y .y  + Y  .z .z )                                                   */
/*                                               xx  n  n    yy  n  n    zz  n  n                                                    */
/*                                                                                                                                   */
/*                                           + (Y  .x .y  + Y  .y .z  + Y  .z .x )                                                   */
/*                                               xy  n  n    yz  n  n    zx  n  n                                                    */
/*                                                                                                                                   */
/*                                           + (Y   .x .y .z )                                                                       */
/*                                               xyz  n  n  n                                                                        */
/*                                                                                                                                   */
/*                                                                                                                                   */
/*                                                                                                                                   */
/*                                      z    = F (x ,y ,z )                                                                          */
/*                                       n+1    z  n  n  n                                                                           */
/*                                                                                                                                   */
/*                                                                                                                                   */
/*                                           = Z                                                                                     */
/*                                                                                                                                   */
/*                                           + (Z .x  + Z .y  + Z .z )                                                               */
/*                                               x  n    y  n    z  n                                                                */
/*                                                                                                                                   */
/*                                           + (Z  .x .x  + Z  .y .y  + Z  .z .z )                                                   */
/*                                               xx  n  n    yy  n  n    zz  n  n                                                    */
/*                                                                                                                                   */
/*                                           + (Z  .x .y  + Z  .y .z  + Z  .z .x )                                                   */
/*                                               xy  n  n    yz  n  n    zx  n  n                                                    */
/*                                                                                                                                   */
/*                                           + (Z   .x .y .z )                                                                       */
/*                                               xyz  n  n  n                                                                        */
/*                                                                                                                                   */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
#include  xrk/attractor.17.I"

dfTRANSFORMAT_31(liste_NOMBRE_D_ITERATIONS,fichier_NOMBRE_D_ITERATIONS,NOMBRE_D_ITERATIONS_IMPLICITE,NOMBRE_D_ITERATIONS)
                                        /* Definition du fichier des nombres d'iterations.                                           */
#define   sNOMBRE_D_ITERATIONS(numero_de_la_periode)                                                                                    \
                    INTE(sTRANSFORMAT_31(numero_de_la_periode,liste_NOMBRE_D_ITERATIONS))                                               \
                                        /* Formule generale definissant les variations du nombre d'iterations.                       */

#define   CX                                                                                                                            \
                    FU
#define   CXx                                                                                                                           \
                    FZERO
#define   CXy                                                                                                                           \
                    FU
#define   CXz                                                                                                                           \
                    FZERO
#define   CXxx                                                                                                                          \
                    NEGA(FRA10(FLOT(QUATORZE)))
#define   CXyy                                                                                                                          \
                    FZERO
#define   CXzz                                                                                                                          \
                    FZERO
#define   CXxy                                                                                                                          \
                    FZERO
#define   CXyz                                                                                                                          \
                    FZERO
#define   CXzx                                                                                                                          \
                    FZERO
#define   CXxyz                                                                                                                         \
                    FZERO
DEFV(Local,DEFV(Float,INIT(X_,CX)));
DEFV(Local,DEFV(Float,INIT(Xx,CXx)));
DEFV(Local,DEFV(Float,INIT(Xy,CXy)));
DEFV(Local,DEFV(Float,INIT(Xz,CXz)));
DEFV(Local,DEFV(Float,INIT(Xxx,CXxx)));
DEFV(Local,DEFV(Float,INIT(Xyy,CXyy)));
DEFV(Local,DEFV(Float,INIT(Xzz,CXzz)));
DEFV(Local,DEFV(Float,INIT(Xxy,CXxy)));
DEFV(Local,DEFV(Float,INIT(Xyz,CXyz)));
DEFV(Local,DEFV(Float,INIT(Xzx,CXzx)));
DEFV(Local,DEFV(Float,INIT(Xxyz,CXxyz)));
                                        /* Definition des coefficients de la premiere iteration.                                     */
                                        /*                                                                                           */
                                        /* ATTENTION, on notera le 'X_' mis a la place de 'X' le 19970408085621 a cause d'un         */
                                        /* conflit avec le 'X' defini dans 'v $xiii/Images$STR'.                                     */

#define   CY                                                                                                                            \
                    FZERO
#define   CYx                                                                                                                           \
                    FRA10(FLOT(TROIS))
#define   CYy                                                                                                                           \
                    FZERO
#define   CYz                                                                                                                           \
                    FZERO
#define   CYxx                                                                                                                          \
                    FZERO
#define   CYyy                                                                                                                          \
                    FZERO
#define   CYzz                                                                                                                          \
                    FZERO
#define   CYxy                                                                                                                          \
                    FZERO
#define   CYyz                                                                                                                          \
                    FZERO
#define   CYzx                                                                                                                          \
                    FZERO
#define   CYxyz                                                                                                                         \
                    FZERO
DEFV(Local,DEFV(Float,INIT(Y_,CY)));
DEFV(Local,DEFV(Float,INIT(Yx,CYx)));
DEFV(Local,DEFV(Float,INIT(Yy,CYy)));
DEFV(Local,DEFV(Float,INIT(Yz,CYz)));
DEFV(Local,DEFV(Float,INIT(Yxx,CYxx)));
DEFV(Local,DEFV(Float,INIT(Yyy,CYyy)));
DEFV(Local,DEFV(Float,INIT(Yzz,CYzz)));
DEFV(Local,DEFV(Float,INIT(Yxy,CYxy)));
DEFV(Local,DEFV(Float,INIT(Yyz,CYyz)));
DEFV(Local,DEFV(Float,INIT(Yzx,CYzx)));
DEFV(Local,DEFV(Float,INIT(Yxyz,CYxyz)));
                                        /* Definition des coefficients de la deuxieme iteration.                                     */
                                        /*                                                                                           */
                                        /* ATTENTION, on notera le 'Y_' mis a la place de 'Y' le 19970408085621 a cause d'un         */
                                        /* conflit avec le 'Y' defini dans 'v $xiii/Images$STR'.                                     */

#define   CZ                                                                                                                            \
                    FZERO
#define   CZx                                                                                                                           \
                    FZERO
#define   CZy                                                                                                                           \
                    FZERO
#define   CZz                                                                                                                           \
                    FZERO
#define   CZxx                                                                                                                          \
                    FZERO
#define   CZyy                                                                                                                          \
                    FZERO
#define   CZzz                                                                                                                          \
                    FZERO
#define   CZxy                                                                                                                          \
                    FZERO
#define   CZyz                                                                                                                          \
                    FZERO
#define   CZzx                                                                                                                          \
                    FZERO
#define   CZxyz                                                                                                                         \
                    FZERO
DEFV(Local,DEFV(Float,INIT(Z_,CZ)));
DEFV(Local,DEFV(Float,INIT(Zx,CZx)));
DEFV(Local,DEFV(Float,INIT(Zy,CZy)));
DEFV(Local,DEFV(Float,INIT(Zz,CZz)));
DEFV(Local,DEFV(Float,INIT(Zxx,CZxx)));
DEFV(Local,DEFV(Float,INIT(Zyy,CZyy)));
DEFV(Local,DEFV(Float,INIT(Zzz,CZzz)));
DEFV(Local,DEFV(Float,INIT(Zxy,CZxy)));
DEFV(Local,DEFV(Float,INIT(Zyz,CZyz)));
DEFV(Local,DEFV(Float,INIT(Zzx,CZzx)));
DEFV(Local,DEFV(Float,INIT(Zxyz,CZxyz)));
                                        /* Definition des coefficients de la troisieme iteration.                                    */
                                        /*                                                                                           */
                                        /* ATTENTION, on notera le 'Z_' mis a la place de 'Z' le 19970408085621 a cause d'un         */
                                        /* conflit avec le 'Z' defini dans 'v $xiii/Images$STR'.                                     */

#define   CX0                                                                                                                           \
                    FZERO
DEFV(Local,DEFV(Float,INIT(cx,FLOT__UNDEF)));
DEFV(Local,DEFV(Float,INIT(Icx,FLOT__UNDEF)));
                                        /* Definition de 'x' et d'une valeur intermediaire due a 'ITERE(...)'.                       */

#define   CY0                                                                                                                           \
                    FZERO
DEFV(Local,DEFV(Float,INIT(cy,FLOT__UNDEF)));
DEFV(Local,DEFV(Float,INIT(Icy,FLOT__UNDEF)));
                                        /* Definition de 'y' et d'une valeur intermediaire due a 'ITERE(...)'.                       */

#define   CZ0                                                                                                                           \
                    FZERO
DEFV(Local,DEFV(Float,INIT(cz,FLOT__UNDEF)));
DEFV(Local,DEFV(Float,INIT(Icz,FLOT__UNDEF)));
                                        /* Definition de 'z' et d'une valeur intermediaire due a 'ITERE(...)'.                       */

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        F O N C T I O N S   D E   V I S U A L I S A T I O N   E T   D ' I N T E R P O L A T I O N  :                               */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
dfTRANSFORMAT_31(liste_COEFFICIENT_X,fichier_COEFFICIENT_X,COEFFICIENT_X_IMPLICITE,CX)
dfTRANSFORMAT_31(liste_COEFFICIENT_Xx,fichier_COEFFICIENT_Xx,COEFFICIENT_Xx_IMPLICITE,CXx)
dfTRANSFORMAT_31(liste_COEFFICIENT_Xy,fichier_COEFFICIENT_Xy,COEFFICIENT_Xy_IMPLICITE,CXy)
dfTRANSFORMAT_31(liste_COEFFICIENT_Xz,fichier_COEFFICIENT_Xz,COEFFICIENT_Xz_IMPLICITE,CXz)
dfTRANSFORMAT_31(liste_COEFFICIENT_Xxx,fichier_COEFFICIENT_Xxx,COEFFICIENT_Xxx_IMPLICITE,CXxx)
dfTRANSFORMAT_31(liste_COEFFICIENT_Xyy,fichier_COEFFICIENT_Xyy,COEFFICIENT_Xyy_IMPLICITE,CXyy)
dfTRANSFORMAT_31(liste_COEFFICIENT_Xzz,fichier_COEFFICIENT_Xzz,COEFFICIENT_Xzz_IMPLICITE,CXzz)
dfTRANSFORMAT_31(liste_COEFFICIENT_Xxy,fichier_COEFFICIENT_Xxy,COEFFICIENT_Xxy_IMPLICITE,CXxy)
dfTRANSFORMAT_31(liste_COEFFICIENT_Xyz,fichier_COEFFICIENT_Xyz,COEFFICIENT_Xyz_IMPLICITE,CXyz)
dfTRANSFORMAT_31(liste_COEFFICIENT_Xzx,fichier_COEFFICIENT_Xzx,COEFFICIENT_Xzx_IMPLICITE,CXzx)
dfTRANSFORMAT_31(liste_COEFFICIENT_Xxyz,fichier_COEFFICIENT_Xxyz,COEFFICIENT_Xxyz_IMPLICITE,CXxyz)
                                        /* Definition des fichiers des coefficients de la premiere iteration.                        */
#define   sCOEFFICIENT_X(numero_de_la_periode)                                                                                          \
                    FLOT(sTRANSFORMAT_31(numero_de_la_periode,liste_COEFFICIENT_X))
#define   sCOEFFICIENT_Xx(numero_de_la_periode)                                                                                         \
                    FLOT(sTRANSFORMAT_31(numero_de_la_periode,liste_COEFFICIENT_Xx))
#define   sCOEFFICIENT_Xy(numero_de_la_periode)                                                                                         \
                    FLOT(sTRANSFORMAT_31(numero_de_la_periode,liste_COEFFICIENT_Xy))
#define   sCOEFFICIENT_Xz(numero_de_la_periode)                                                                                         \
                    FLOT(sTRANSFORMAT_31(numero_de_la_periode,liste_COEFFICIENT_Xz))
#define   sCOEFFICIENT_Xxx(numero_de_la_periode)                                                                                        \
                    FLOT(sTRANSFORMAT_31(numero_de_la_periode,liste_COEFFICIENT_Xxx))
#define   sCOEFFICIENT_Xyy(numero_de_la_periode)                                                                                        \
                    FLOT(sTRANSFORMAT_31(numero_de_la_periode,liste_COEFFICIENT_Xyy))
#define   sCOEFFICIENT_Xzz(numero_de_la_periode)                                                                                        \
                    FLOT(sTRANSFORMAT_31(numero_de_la_periode,liste_COEFFICIENT_Xzz))
#define   sCOEFFICIENT_Xxy(numero_de_la_periode)                                                                                        \
                    FLOT(sTRANSFORMAT_31(numero_de_la_periode,liste_COEFFICIENT_Xxy))
#define   sCOEFFICIENT_Xyz(numero_de_la_periode)                                                                                        \
                    FLOT(sTRANSFORMAT_31(numero_de_la_periode,liste_COEFFICIENT_Xyz))
#define   sCOEFFICIENT_Xzx(numero_de_la_periode)                                                                                        \
                    FLOT(sTRANSFORMAT_31(numero_de_la_periode,liste_COEFFICIENT_Xzx))
#define   sCOEFFICIENT_Xxyz(numero_de_la_periode)                                                                                       \
                    FLOT(sTRANSFORMAT_31(numero_de_la_periode,liste_COEFFICIENT_Xxyz))
                                        /* Formule generale definissant les variations des coefficients de la premiere equation.     */
dfTRANSFORMAT_31(liste_COEFFICIENT_Y,fichier_COEFFICIENT_Y,COEFFICIENT_Y_IMPLICITE,CY)
dfTRANSFORMAT_31(liste_COEFFICIENT_Yx,fichier_COEFFICIENT_Yx,COEFFICIENT_Yx_IMPLICITE,CYx)
dfTRANSFORMAT_31(liste_COEFFICIENT_Yy,fichier_COEFFICIENT_Yy,COEFFICIENT_Yy_IMPLICITE,CYy)
dfTRANSFORMAT_31(liste_COEFFICIENT_Yz,fichier_COEFFICIENT_Yz,COEFFICIENT_Yz_IMPLICITE,CYz)
dfTRANSFORMAT_31(liste_COEFFICIENT_Yxx,fichier_COEFFICIENT_Yxx,COEFFICIENT_Yxx_IMPLICITE,CYxx)
dfTRANSFORMAT_31(liste_COEFFICIENT_Yyy,fichier_COEFFICIENT_Yyy,COEFFICIENT_Yyy_IMPLICITE,CYyy)
dfTRANSFORMAT_31(liste_COEFFICIENT_Yzz,fichier_COEFFICIENT_Yzz,COEFFICIENT_Yzz_IMPLICITE,CYzz)
dfTRANSFORMAT_31(liste_COEFFICIENT_Yxy,fichier_COEFFICIENT_Yxy,COEFFICIENT_Yxy_IMPLICITE,CYxy)
dfTRANSFORMAT_31(liste_COEFFICIENT_Yyz,fichier_COEFFICIENT_Yyz,COEFFICIENT_Yyz_IMPLICITE,CYyz)
dfTRANSFORMAT_31(liste_COEFFICIENT_Yzx,fichier_COEFFICIENT_Yzx,COEFFICIENT_Yzx_IMPLICITE,CYzx)
dfTRANSFORMAT_31(liste_COEFFICIENT_Yxyz,fichier_COEFFICIENT_Yxyz,COEFFICIENT_Yxyz_IMPLICITE,CYxyz)
                                        /* Definition des fichiers des coefficients de la deuxieme iteration.                        */
#define   sCOEFFICIENT_Y(numero_de_la_periode)                                                                                          \
                    FLOT(sTRANSFORMAT_31(numero_de_la_periode,liste_COEFFICIENT_Y))
#define   sCOEFFICIENT_Yx(numero_de_la_periode)                                                                                         \
                    FLOT(sTRANSFORMAT_31(numero_de_la_periode,liste_COEFFICIENT_Yx))
#define   sCOEFFICIENT_Yy(numero_de_la_periode)                                                                                         \
                    FLOT(sTRANSFORMAT_31(numero_de_la_periode,liste_COEFFICIENT_Yy))
#define   sCOEFFICIENT_Yz(numero_de_la_periode)                                                                                         \
                    FLOT(sTRANSFORMAT_31(numero_de_la_periode,liste_COEFFICIENT_Yz))
#define   sCOEFFICIENT_Yxx(numero_de_la_periode)                                                                                        \
                    FLOT(sTRANSFORMAT_31(numero_de_la_periode,liste_COEFFICIENT_Yxx))
#define   sCOEFFICIENT_Yyy(numero_de_la_periode)                                                                                        \
                    FLOT(sTRANSFORMAT_31(numero_de_la_periode,liste_COEFFICIENT_Yyy))
#define   sCOEFFICIENT_Yzz(numero_de_la_periode)                                                                                        \
                    FLOT(sTRANSFORMAT_31(numero_de_la_periode,liste_COEFFICIENT_Yzz))
#define   sCOEFFICIENT_Yxy(numero_de_la_periode)                                                                                        \
                    FLOT(sTRANSFORMAT_31(numero_de_la_periode,liste_COEFFICIENT_Yxy))
#define   sCOEFFICIENT_Yyz(numero_de_la_periode)                                                                                        \
                    FLOT(sTRANSFORMAT_31(numero_de_la_periode,liste_COEFFICIENT_Yyz))
#define   sCOEFFICIENT_Yzx(numero_de_la_periode)                                                                                        \
                    FLOT(sTRANSFORMAT_31(numero_de_la_periode,liste_COEFFICIENT_Yzx))
#define   sCOEFFICIENT_Yxyz(numero_de_la_periode)                                                                                       \
                    FLOT(sTRANSFORMAT_31(numero_de_la_periode,liste_COEFFICIENT_Yxyz))
                                        /* Formule generale definissant les variations des coefficients de la deuxieme equation.     */
dfTRANSFORMAT_31(liste_COEFFICIENT_Z,fichier_COEFFICIENT_Z,COEFFICIENT_Z_IMPLICITE,CZ)
dfTRANSFORMAT_31(liste_COEFFICIENT_Zx,fichier_COEFFICIENT_Zx,COEFFICIENT_Zx_IMPLICITE,CZx)
dfTRANSFORMAT_31(liste_COEFFICIENT_Zy,fichier_COEFFICIENT_Zy,COEFFICIENT_Zy_IMPLICITE,CZy)
dfTRANSFORMAT_31(liste_COEFFICIENT_Zz,fichier_COEFFICIENT_Zz,COEFFICIENT_Zz_IMPLICITE,CZz)
dfTRANSFORMAT_31(liste_COEFFICIENT_Zxx,fichier_COEFFICIENT_Zxx,COEFFICIENT_Zxx_IMPLICITE,CZxx)
dfTRANSFORMAT_31(liste_COEFFICIENT_Zyy,fichier_COEFFICIENT_Zyy,COEFFICIENT_Zyy_IMPLICITE,CZyy)
dfTRANSFORMAT_31(liste_COEFFICIENT_Zzz,fichier_COEFFICIENT_Zzz,COEFFICIENT_Zzz_IMPLICITE,CZzz)
dfTRANSFORMAT_31(liste_COEFFICIENT_Zxy,fichier_COEFFICIENT_Zxy,COEFFICIENT_Zxy_IMPLICITE,CZxy)
dfTRANSFORMAT_31(liste_COEFFICIENT_Zyz,fichier_COEFFICIENT_Zyz,COEFFICIENT_Zyz_IMPLICITE,CZyz)
dfTRANSFORMAT_31(liste_COEFFICIENT_Zzx,fichier_COEFFICIENT_Zzx,COEFFICIENT_Zzx_IMPLICITE,CZzx)
dfTRANSFORMAT_31(liste_COEFFICIENT_Zxyz,fichier_COEFFICIENT_Zxyz,COEFFICIENT_Zxyz_IMPLICITE,CZxyz)
                                        /* Definition des fichiers des coefficients de la troisieme iteration.                       */
#define   sCOEFFICIENT_Z(numero_de_la_periode)                                                                                          \
                    FLOT(sTRANSFORMAT_31(numero_de_la_periode,liste_COEFFICIENT_Z))
#define   sCOEFFICIENT_Zx(numero_de_la_periode)                                                                                         \
                    FLOT(sTRANSFORMAT_31(numero_de_la_periode,liste_COEFFICIENT_Zx))
#define   sCOEFFICIENT_Zy(numero_de_la_periode)                                                                                         \
                    FLOT(sTRANSFORMAT_31(numero_de_la_periode,liste_COEFFICIENT_Zy))
#define   sCOEFFICIENT_Zz(numero_de_la_periode)                                                                                         \
                    FLOT(sTRANSFORMAT_31(numero_de_la_periode,liste_COEFFICIENT_Zz))
#define   sCOEFFICIENT_Zxx(numero_de_la_periode)                                                                                        \
                    FLOT(sTRANSFORMAT_31(numero_de_la_periode,liste_COEFFICIENT_Zxx))
#define   sCOEFFICIENT_Zyy(numero_de_la_periode)                                                                                        \
                    FLOT(sTRANSFORMAT_31(numero_de_la_periode,liste_COEFFICIENT_Zyy))
#define   sCOEFFICIENT_Zzz(numero_de_la_periode)                                                                                        \
                    FLOT(sTRANSFORMAT_31(numero_de_la_periode,liste_COEFFICIENT_Zzz))
#define   sCOEFFICIENT_Zxy(numero_de_la_periode)                                                                                        \
                    FLOT(sTRANSFORMAT_31(numero_de_la_periode,liste_COEFFICIENT_Zxy))
#define   sCOEFFICIENT_Zyz(numero_de_la_periode)                                                                                        \
                    FLOT(sTRANSFORMAT_31(numero_de_la_periode,liste_COEFFICIENT_Zyz))
#define   sCOEFFICIENT_Zzx(numero_de_la_periode)                                                                                        \
                    FLOT(sTRANSFORMAT_31(numero_de_la_periode,liste_COEFFICIENT_Zzx))
#define   sCOEFFICIENT_Zxyz(numero_de_la_periode)                                                                                       \
                    FLOT(sTRANSFORMAT_31(numero_de_la_periode,liste_COEFFICIENT_Zxyz))
                                        /* Formule generale definissant les variations des coefficients de la troisieme equation.    */

dfTRANSFORMAT_31(liste_VARIABLE_cx0,fichier_VARIABLE_cx0,VARIABLE_cx0_IMPLICITE,CX0)
dfTRANSFORMAT_31(liste_VARIABLE_cy0,fichier_VARIABLE_cy0,VARIABLE_cy0_IMPLICITE,CY0)
dfTRANSFORMAT_31(liste_VARIABLE_cz0,fichier_VARIABLE_cz0,VARIABLE_cz0_IMPLICITE,CZ0)
                                        /* Definition des fichiers des valeurs initiales des trois variables (x0,y0,z0).             */
#define   sVARIABLE_cx0(numero_de_la_periode)                                                                                           \
                    FLOT(sTRANSFORMAT_31(numero_de_la_periode,liste_VARIABLE_cx0))
#define   sVARIABLE_cy0(numero_de_la_periode)                                                                                           \
                    FLOT(sTRANSFORMAT_31(numero_de_la_periode,liste_VARIABLE_cy0))
#define   sVARIABLE_cz0(numero_de_la_periode)                                                                                           \
                    FLOT(sTRANSFORMAT_31(numero_de_la_periode,liste_VARIABLE_cz0))
                                        /* Formule generale definissant les variations des valeurs initiales des trois variables.    */

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        D E F I N I T I O N   D E S   T R O I S   F O N C T I O N S   ' F '  :                                                     */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
#define   Fx(cx,cy,cz)                                                                                                                  \
                    ADD5(X_                                                                                                             \
                        ,LIZ3(Xx,cx,Xy,cy,Xz,cz)                                                                                        \
                        ,LIZ3(Xxx,MUL2(cx,cx),Xyy,MUL2(cy,cy),Xzz,MUL2(cz,cz))                                                          \
                        ,LIZ3(Xxy,MUL2(cx,cy),Xyz,MUL2(cy,cz),Xzx,MUL2(cz,cx))                                                          \
                        ,MUL2(Xxyz,MUL3(cx,cy,cz))                                                                                      \
                         )                                                                                                              \
                                        /* Definition de la fonction F (x,y,z).                                                      */ \
                                        /*                            x                                                              */
#define   Fy(cx,cy,cz)                                                                                                                  \
                    ADD5(Y_                                                                                                             \
                        ,LIZ3(Yx,cx,Yy,cy,Yz,cz)                                                                                        \
                        ,LIZ3(Yxx,MUL2(cx,cx),Yyy,MUL2(cy,cy),Yzz,MUL2(cz,cz))                                                          \
                        ,LIZ3(Yxy,MUL2(cx,cy),Yyz,MUL2(cy,cz),Yzx,MUL2(cz,cx))                                                          \
                        ,MUL2(Yxyz,MUL3(cx,cy,cz))                                                                                      \
                         )                                                                                                              \
                                        /* Definition de la fonction F (x,y,z).                                                      */ \
                                        /*                            y                                                              */
#define   Fz(cx,cy,cz)                                                                                                                  \
                    ADD5(Z_                                                                                                             \
                        ,LIZ3(Zx,cx,Zy,cy,Zz,cz)                                                                                        \
                        ,LIZ3(Zxx,MUL2(cx,cx),Zyy,MUL2(cy,cy),Zzz,MUL2(cz,cz))                                                          \
                        ,LIZ3(Zxy,MUL2(cx,cy),Zyz,MUL2(cy,cz),Zzx,MUL2(cz,cx))                                                          \
                        ,MUL2(Zxyz,MUL3(cx,cy,cz))                                                                                      \
                         )                                                                                                              \
                                        /* Definition de la fonction F (x,y,z).                                                      */ \
                                        /*                            z                                                              */

#define   ITERE(v2,v1,fonction)                                                                                                         \
                    Bblock                                                                                                              \
                    Test(aIFID(v1,v2))                                                                                                  \
                         Bblock                                                                                                         \
                         PRINT_ERREUR("une coordonnee va etre mise a jour alors que son ancienne valeur peut etre encore utile");       \
                                        /* En effet, lors de l'integration qui va suivre, on calcule :                               */ \
                                        /*                                                                                           */ \
                                        /*                  v2 = fonction(v1)                                                        */ \
                                        /*                                                                                           */ \
                                        /* or, lorsque 'v1' et 'v2' sont identiques, il y a un risque tres fort que l'ancienne       */ \
                                        /* valeur 'v1' soit encore utile par la suite (dans l'evaluation des fonctions F(x,y,z)),    */ \
                                        /* il faut donc prevoir une valeur intermediaire...                                          */ \
                         Eblock                                                                                                         \
                    ATes                                                                                                                \
                         Bblock                                                                                                         \
                         Eblock                                                                                                         \
                    ETes                                                                                                                \
                    EGAL(v2,fonction);                                                                                                  \
                                        /* Puis iteration :                                                                          */ \
                                        /*                                                                                           */ \
                                        /*                  v2 = fonction(v1).                                                       */ \
                                        /*                                                                                           */ \
                    Eblock                                                                                                              \
                                        /* Procedure d'iteration...                                                                  */
#define   MISE_A_JOUR(v12,v11,v22,v21,v32,v31)                                                                                          \
                    Bblock                                                                                                              \
                    EGAL(v12,v11);                                                                                                      \
                    EGAL(v22,v21);                                                                                                      \
                    EGAL(v32,v31);                                                                                                      \
                    Eblock                                                                                                              \
                                        /* Procedure de mise a jour a la suite de 'ITERE(...)' lorsque l'on est dans le cas ou       */ \
                                        /* les variables 'v1' et 'v2' sont identiques...                                             */

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        A I D E   A U   C A D R A G E   D E S   I M A G E S  :                                                                     */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
#include  xrk/attractor.1C.I"

DONNEES_DE_RECHERCHE_DES_EXTREMA_DES_COORDONNEES_ET_DES_DERIVEES
                                        /* Definition des extrema des coordonnees. On notera bien l'absence de point-virgule apres   */
                                        /* 'DONNEES_DE_RECHERCHE_DES_EXTREMA_DES_COORDONNEES'.                                       */
                                        /*                                                                                           */
                                        /* Le 20061211112027 'DONNEES_DE_RECHERCHE_DES_EXTREMA_DES_COORDONNEES' a ete remplace par   */
                                        /* 'DONNEES_DE_RECHERCHE_DES_EXTREMA_DES_COORDONNEES_ET_DES_DERIVEES' a cause de la          */
                                        /* definition de 'prendre_la_valeur_absolue_des_differentielles' necessaires dans            */
                                        /* 'v $xrv/champs_5.1A$I prendre_la_valeur_absolue_des_differentielles'...                   */

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        D E F I N I T I O N   D E S   I N I T I A L I S A T I O N S  :                                                             */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
#include  xrk/attractor.18.I"

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        A T T R A C T E U R   D E   H E N O N  :                                                                                   */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
BCommande(nombre_d_arguments,arguments)
/*-----------------------------------------------------------------------------------------------------------------------------------*/
     Bblock
     /*..............................................................................................................................*/
     INITIALISATIONS_GENERALES;
                                        /* Initialisations generales faites au tout debut...                                         */

     iTRANSFORMAT_31(liste_COEFFICIENT_X,COEFFICIENT_X_IMPLICITE);
     iTRANSFORMAT_31(liste_COEFFICIENT_Xx,COEFFICIENT_Xx_IMPLICITE);
     iTRANSFORMAT_31(liste_COEFFICIENT_Xy,COEFFICIENT_Xy_IMPLICITE);
     iTRANSFORMAT_31(liste_COEFFICIENT_Xz,COEFFICIENT_Xz_IMPLICITE);
     iTRANSFORMAT_31(liste_COEFFICIENT_Xxy,COEFFICIENT_Xxy_IMPLICITE);
     iTRANSFORMAT_31(liste_COEFFICIENT_Xxx,COEFFICIENT_Xxx_IMPLICITE);
     iTRANSFORMAT_31(liste_COEFFICIENT_Xyy,COEFFICIENT_Xyy_IMPLICITE);
     iTRANSFORMAT_31(liste_COEFFICIENT_Xzz,COEFFICIENT_Xzz_IMPLICITE);
     iTRANSFORMAT_31(liste_COEFFICIENT_Xyz,COEFFICIENT_Xyz_IMPLICITE);
     iTRANSFORMAT_31(liste_COEFFICIENT_Xzx,COEFFICIENT_Xzx_IMPLICITE);
     iTRANSFORMAT_31(liste_COEFFICIENT_Xxyz,COEFFICIENT_Xxyz_IMPLICITE);
                                        /* Initialisation des coefficients de la premiere iteration.                                 */
     iTRANSFORMAT_31(liste_COEFFICIENT_Y,COEFFICIENT_Y_IMPLICITE);
     iTRANSFORMAT_31(liste_COEFFICIENT_Yx,COEFFICIENT_Yx_IMPLICITE);
     iTRANSFORMAT_31(liste_COEFFICIENT_Yy,COEFFICIENT_Yy_IMPLICITE);
     iTRANSFORMAT_31(liste_COEFFICIENT_Yz,COEFFICIENT_Yz_IMPLICITE);
     iTRANSFORMAT_31(liste_COEFFICIENT_Yxx,COEFFICIENT_Yxx_IMPLICITE);
     iTRANSFORMAT_31(liste_COEFFICIENT_Yyy,COEFFICIENT_Yyy_IMPLICITE);
     iTRANSFORMAT_31(liste_COEFFICIENT_Yzz,COEFFICIENT_Yzz_IMPLICITE);
     iTRANSFORMAT_31(liste_COEFFICIENT_Yxy,COEFFICIENT_Yxy_IMPLICITE);
     iTRANSFORMAT_31(liste_COEFFICIENT_Yyz,COEFFICIENT_Yyz_IMPLICITE);
     iTRANSFORMAT_31(liste_COEFFICIENT_Yzx,COEFFICIENT_Yzx_IMPLICITE);
     iTRANSFORMAT_31(liste_COEFFICIENT_Yxyz,COEFFICIENT_Yxyz_IMPLICITE);
                                        /* Initialisation des coefficients de la deuxieme iteration.                                 */
     iTRANSFORMAT_31(liste_COEFFICIENT_Z,COEFFICIENT_Z_IMPLICITE);
     iTRANSFORMAT_31(liste_COEFFICIENT_Zx,COEFFICIENT_Zx_IMPLICITE);
     iTRANSFORMAT_31(liste_COEFFICIENT_Zy,COEFFICIENT_Zy_IMPLICITE);
     iTRANSFORMAT_31(liste_COEFFICIENT_Zz,COEFFICIENT_Zz_IMPLICITE);
     iTRANSFORMAT_31(liste_COEFFICIENT_Zxx,COEFFICIENT_Zxx_IMPLICITE);
     iTRANSFORMAT_31(liste_COEFFICIENT_Zyy,COEFFICIENT_Zyy_IMPLICITE);
     iTRANSFORMAT_31(liste_COEFFICIENT_Zzz,COEFFICIENT_Zzz_IMPLICITE);
     iTRANSFORMAT_31(liste_COEFFICIENT_Zxy,COEFFICIENT_Zxy_IMPLICITE);
     iTRANSFORMAT_31(liste_COEFFICIENT_Zyz,COEFFICIENT_Zyz_IMPLICITE);
     iTRANSFORMAT_31(liste_COEFFICIENT_Zzx,COEFFICIENT_Zzx_IMPLICITE);
     iTRANSFORMAT_31(liste_COEFFICIENT_Zxyz,COEFFICIENT_Zxyz_IMPLICITE);
                                        /* Initialisation des coefficients de la troisieme iteration.                                */
     iTRANSFORMAT_31(liste_VARIABLE_cx0,VARIABLE_cx0_IMPLICITE);
     iTRANSFORMAT_31(liste_VARIABLE_cy0,VARIABLE_cy0_IMPLICITE);
     iTRANSFORMAT_31(liste_VARIABLE_cz0,VARIABLE_cz0_IMPLICITE);
                                        /* Initialisation des valeurs initiales des trois variables (x0,y0,z0).                      */
     iTRANSFORMAT_31(liste_NOMBRE_D_ITERATIONS,NOMBRE_D_ITERATIONS_IMPLICITE);
                                        /* Initialisation du nombre d'iterations.                                                    */

#include  xrv/champs_5.1A.I"

     GET_ARGUMENTSv(nombre_d_arguments
                   ,BLOC(PROCESS_ARGUMENTS_GEOMETRIQUES;

                         PROCESS_ARGUMENT_FICHIER("COEFFICIENT_X="
                                                 ,fichier_COEFFICIENT_X
                                                 ,liste_COEFFICIENT_X
                                                 ,COEFFICIENT_X_IMPLICITE
                                                 ,gTRANSFORMAT_31
                                                  );
                         PROCESS_ARGUMENT_FICHIER("COEFFICIENT_Xx="
                                                 ,fichier_COEFFICIENT_Xx
                                                 ,liste_COEFFICIENT_Xx
                                                 ,COEFFICIENT_Xx_IMPLICITE
                                                 ,gTRANSFORMAT_31
                                                  );
                         PROCESS_ARGUMENT_FICHIER("COEFFICIENT_Xy="
                                                 ,fichier_COEFFICIENT_Xy
                                                 ,liste_COEFFICIENT_Xy
                                                 ,COEFFICIENT_Xy_IMPLICITE
                                                 ,gTRANSFORMAT_31
                                                  );
                         PROCESS_ARGUMENT_FICHIER("COEFFICIENT_Xz="
                                                 ,fichier_COEFFICIENT_Xz
                                                 ,liste_COEFFICIENT_Xz
                                                 ,COEFFICIENT_Xz_IMPLICITE
                                                 ,gTRANSFORMAT_31
                                                  );
                         PROCESS_ARGUMENT_FICHIER("COEFFICIENT_Xxx="
                                                 ,fichier_COEFFICIENT_Xxx
                                                 ,liste_COEFFICIENT_Xxx
                                                 ,COEFFICIENT_Xxx_IMPLICITE
                                                 ,gTRANSFORMAT_31
                                                  );
                         PROCESS_ARGUMENT_FICHIER("COEFFICIENT_Xyy="
                                                 ,fichier_COEFFICIENT_Xyy
                                                 ,liste_COEFFICIENT_Xyy
                                                 ,COEFFICIENT_Xyy_IMPLICITE
                                                 ,gTRANSFORMAT_31
                                                  );
                         PROCESS_ARGUMENT_FICHIER("COEFFICIENT_Xzz="
                                                 ,fichier_COEFFICIENT_Xzz
                                                 ,liste_COEFFICIENT_Xzz
                                                 ,COEFFICIENT_Xzz_IMPLICITE
                                                 ,gTRANSFORMAT_31
                                                  );
                         PROCESS_ARGUMENT_FICHIER("COEFFICIENT_Xxy="
                                                 ,fichier_COEFFICIENT_Xxy
                                                 ,liste_COEFFICIENT_Xxy
                                                 ,COEFFICIENT_Xxy_IMPLICITE
                                                 ,gTRANSFORMAT_31
                                                  );
                         PROCESS_ARGUMENT_FICHIER("COEFFICIENT_Xyz="
                                                 ,fichier_COEFFICIENT_Xyz
                                                 ,liste_COEFFICIENT_Xyz
                                                 ,COEFFICIENT_Xyz_IMPLICITE
                                                 ,gTRANSFORMAT_31
                                                  );
                         PROCESS_ARGUMENT_FICHIER("COEFFICIENT_Xzx="
                                                 ,fichier_COEFFICIENT_Xzx
                                                 ,liste_COEFFICIENT_Xzx
                                                 ,COEFFICIENT_Xzx_IMPLICITE
                                                 ,gTRANSFORMAT_31
                                                  );
                         PROCESS_ARGUMENT_FICHIER("COEFFICIENT_Xxyz="
                                                 ,fichier_COEFFICIENT_Xxyz
                                                 ,liste_COEFFICIENT_Xxyz
                                                 ,COEFFICIENT_Xxyz_IMPLICITE
                                                 ,gTRANSFORMAT_31
                                                  );

                         PROCESS_ARGUMENT_FICHIER("COEFFICIENT_Y="
                                                 ,fichier_COEFFICIENT_Y
                                                 ,liste_COEFFICIENT_Y
                                                 ,COEFFICIENT_Y_IMPLICITE
                                                 ,gTRANSFORMAT_31
                                                  );
                         PROCESS_ARGUMENT_FICHIER("COEFFICIENT_Yx="
                                                 ,fichier_COEFFICIENT_Yx
                                                 ,liste_COEFFICIENT_Yx
                                                 ,COEFFICIENT_Yx_IMPLICITE
                                                 ,gTRANSFORMAT_31
                                                  );
                         PROCESS_ARGUMENT_FICHIER("COEFFICIENT_Yy="
                                                 ,fichier_COEFFICIENT_Yy
                                                 ,liste_COEFFICIENT_Yy
                                                 ,COEFFICIENT_Yy_IMPLICITE
                                                 ,gTRANSFORMAT_31
                                                  );
                         PROCESS_ARGUMENT_FICHIER("COEFFICIENT_Yz="
                                                 ,fichier_COEFFICIENT_Yz
                                                 ,liste_COEFFICIENT_Yz
                                                 ,COEFFICIENT_Yz_IMPLICITE
                                                 ,gTRANSFORMAT_31
                                                  );
                         PROCESS_ARGUMENT_FICHIER("COEFFICIENT_Yxx="
                                                 ,fichier_COEFFICIENT_Yxx
                                                 ,liste_COEFFICIENT_Yxx
                                                 ,COEFFICIENT_Yxx_IMPLICITE
                                                 ,gTRANSFORMAT_31
                                                  );
                         PROCESS_ARGUMENT_FICHIER("COEFFICIENT_Yyy="
                                                 ,fichier_COEFFICIENT_Yyy
                                                 ,liste_COEFFICIENT_Yyy
                                                 ,COEFFICIENT_Yyy_IMPLICITE
                                                 ,gTRANSFORMAT_31
                                                  );
                         PROCESS_ARGUMENT_FICHIER("COEFFICIENT_Yzz="
                                                 ,fichier_COEFFICIENT_Yzz
                                                 ,liste_COEFFICIENT_Yzz
                                                 ,COEFFICIENT_Yzz_IMPLICITE
                                                 ,gTRANSFORMAT_31
                                                  );
                         PROCESS_ARGUMENT_FICHIER("COEFFICIENT_Yxy="
                                                 ,fichier_COEFFICIENT_Yxy
                                                 ,liste_COEFFICIENT_Yxy
                                                 ,COEFFICIENT_Yxy_IMPLICITE
                                                 ,gTRANSFORMAT_31
                                                  );
                         PROCESS_ARGUMENT_FICHIER("COEFFICIENT_Yyz="
                                                 ,fichier_COEFFICIENT_Yyz
                                                 ,liste_COEFFICIENT_Yyz
                                                 ,COEFFICIENT_Yyz_IMPLICITE
                                                 ,gTRANSFORMAT_31
                                                  );
                         PROCESS_ARGUMENT_FICHIER("COEFFICIENT_Yzx="
                                                 ,fichier_COEFFICIENT_Yzx
                                                 ,liste_COEFFICIENT_Yzx
                                                 ,COEFFICIENT_Yzx_IMPLICITE
                                                 ,gTRANSFORMAT_31
                                                  );
                         PROCESS_ARGUMENT_FICHIER("COEFFICIENT_Yxyz="
                                                 ,fichier_COEFFICIENT_Yxyz
                                                 ,liste_COEFFICIENT_Yxyz
                                                 ,COEFFICIENT_Yxyz_IMPLICITE
                                                 ,gTRANSFORMAT_31
                                                  );

                         PROCESS_ARGUMENT_FICHIER("COEFFICIENT_Z="
                                                 ,fichier_COEFFICIENT_Z
                                                 ,liste_COEFFICIENT_Z
                                                 ,COEFFICIENT_Z_IMPLICITE
                                                 ,gTRANSFORMAT_31
                                                  );
                         PROCESS_ARGUMENT_FICHIER("COEFFICIENT_Zx="
                                                 ,fichier_COEFFICIENT_Zx
                                                 ,liste_COEFFICIENT_Zx
                                                 ,COEFFICIENT_Zx_IMPLICITE
                                                 ,gTRANSFORMAT_31
                                                  );
                         PROCESS_ARGUMENT_FICHIER("COEFFICIENT_Zy="
                                                 ,fichier_COEFFICIENT_Zy
                                                 ,liste_COEFFICIENT_Zy
                                                 ,COEFFICIENT_Zy_IMPLICITE
                                                 ,gTRANSFORMAT_31
                                                  );
                         PROCESS_ARGUMENT_FICHIER("COEFFICIENT_Zz="
                                                 ,fichier_COEFFICIENT_Zz
                                                 ,liste_COEFFICIENT_Zz
                                                 ,COEFFICIENT_Zz_IMPLICITE
                                                 ,gTRANSFORMAT_31
                                                  );
                         PROCESS_ARGUMENT_FICHIER("COEFFICIENT_Zxx="
                                                 ,fichier_COEFFICIENT_Zxx
                                                 ,liste_COEFFICIENT_Zxx
                                                 ,COEFFICIENT_Zxx_IMPLICITE
                                                 ,gTRANSFORMAT_31
                                                  );
                         PROCESS_ARGUMENT_FICHIER("COEFFICIENT_Zyy="
                                                 ,fichier_COEFFICIENT_Zyy
                                                 ,liste_COEFFICIENT_Zyy
                                                 ,COEFFICIENT_Zyy_IMPLICITE
                                                 ,gTRANSFORMAT_31
                                                  );
                         PROCESS_ARGUMENT_FICHIER("COEFFICIENT_Zzz="
                                                 ,fichier_COEFFICIENT_Zzz
                                                 ,liste_COEFFICIENT_Zzz
                                                 ,COEFFICIENT_Zzz_IMPLICITE
                                                 ,gTRANSFORMAT_31
                                                  );
                         PROCESS_ARGUMENT_FICHIER("COEFFICIENT_Zxy="
                                                 ,fichier_COEFFICIENT_Zxy
                                                 ,liste_COEFFICIENT_Zxy
                                                 ,COEFFICIENT_Zxy_IMPLICITE
                                                 ,gTRANSFORMAT_31
                                                  );
                         PROCESS_ARGUMENT_FICHIER("COEFFICIENT_Zyz="
                                                 ,fichier_COEFFICIENT_Zyz
                                                 ,liste_COEFFICIENT_Zyz
                                                 ,COEFFICIENT_Zyz_IMPLICITE
                                                 ,gTRANSFORMAT_31
                                                  );
                         PROCESS_ARGUMENT_FICHIER("COEFFICIENT_Zzx="
                                                 ,fichier_COEFFICIENT_Zzx
                                                 ,liste_COEFFICIENT_Zzx
                                                 ,COEFFICIENT_Zzx_IMPLICITE
                                                 ,gTRANSFORMAT_31
                                                  );
                         PROCESS_ARGUMENT_FICHIER("COEFFICIENT_Zxyz="
                                                 ,fichier_COEFFICIENT_Zxyz
                                                 ,liste_COEFFICIENT_Zxyz
                                                 ,COEFFICIENT_Zxyz_IMPLICITE
                                                 ,gTRANSFORMAT_31
                                                  );

                         PROCESS_ARGUMENT_FICHIER("VARIABLE_cx0="
                                                 ,fichier_VARIABLE_cx0
                                                 ,liste_VARIABLE_cx0
                                                 ,VARIABLE_cx0_IMPLICITE
                                                 ,gTRANSFORMAT_31
                                                  );
                         PROCESS_ARGUMENT_FICHIER("VARIABLE_cy0="
                                                 ,fichier_VARIABLE_cy0
                                                 ,liste_VARIABLE_cy0
                                                 ,VARIABLE_cy0_IMPLICITE
                                                 ,gTRANSFORMAT_31
                                                  );
                         PROCESS_ARGUMENT_FICHIER("VARIABLE_cz0="
                                                 ,fichier_VARIABLE_cz0
                                                 ,liste_VARIABLE_cz0
                                                 ,VARIABLE_cz0_IMPLICITE
                                                 ,gTRANSFORMAT_31
                                                  );

                         PROCESS_ARGUMENT_FICHIER("NOMBRE_D_ITERATIONS="
                                                 ,fichier_NOMBRE_D_ITERATIONS
                                                 ,liste_NOMBRE_D_ITERATIONS
                                                 ,NOMBRE_D_ITERATIONS_IMPLICITE
                                                 ,gTRANSFORMAT_31
                                                  );

                         PROCESS_ARGUMENTS_DE_VISUALISATION;

                         GET_ARGUMENT_I("n=""iterations=",nombre_d_iterations);

                         GET_ARGUMENT_P("ROUGE_particule=",niveau_de_ROUGE_de_la_particule);
                         GET_ARGUMENT_P("VERTE_particule=",niveau_de_VERTE_de_la_particule);
                         GET_ARGUMENT_P("BLEUE_particule=",niveau_de_BLEUE_de_la_particule);
                         )
                    );

#include  xrv/champs_5.19.I"
                                        /* Pour eviter le message :                                                                  */
                                        /*                                                                                           */
                                        /*                  Static function is not referenced.                                       */
                                        /*                                                                                           */
                                        /* sur 'SYSTEME_ES9000_AIX_CC'...                                                            */

#include  xrk/attractor.19.I"
                                        /* Validations et definition de l'espace physique.                                           */

     Komp(numero_de_la_periode_courante_de_la_simulation,nombre_de_periodes_de_la_simulation)
          Bblock
          INITIALISATIONS_RELATIVES_A_CHAQUE_NOUVELLE_IMAGE(numero_de_la_periode_courante);
                                        /* Initialisations necessaires avant le calcul et la generation de chaque nouvelle image.    */

          EGAL(X_,sCOEFFICIENT_X(numero_de_la_periode_courante));
          EGAL(Xx,sCOEFFICIENT_Xx(numero_de_la_periode_courante));
          EGAL(Xy,sCOEFFICIENT_Xy(numero_de_la_periode_courante));
          EGAL(Xz,sCOEFFICIENT_Xz(numero_de_la_periode_courante));
          EGAL(Xxx,sCOEFFICIENT_Xxx(numero_de_la_periode_courante));
          EGAL(Xyy,sCOEFFICIENT_Xyy(numero_de_la_periode_courante));
          EGAL(Xzz,sCOEFFICIENT_Xzz(numero_de_la_periode_courante));
          EGAL(Xxy,sCOEFFICIENT_Xxy(numero_de_la_periode_courante));
          EGAL(Xyz,sCOEFFICIENT_Xyz(numero_de_la_periode_courante));
          EGAL(Xzx,sCOEFFICIENT_Xzx(numero_de_la_periode_courante));
          EGAL(Xxyz,sCOEFFICIENT_Xxyz(numero_de_la_periode_courante));
                                        /* Calcul des coefficients de la premiere iteration.                                         */
          EGAL(Y_,sCOEFFICIENT_Y(numero_de_la_periode_courante));
          EGAL(Yx,sCOEFFICIENT_Yx(numero_de_la_periode_courante));
          EGAL(Yy,sCOEFFICIENT_Yy(numero_de_la_periode_courante));
          EGAL(Yz,sCOEFFICIENT_Yz(numero_de_la_periode_courante));
          EGAL(Yxx,sCOEFFICIENT_Yxx(numero_de_la_periode_courante));
          EGAL(Yyy,sCOEFFICIENT_Yyy(numero_de_la_periode_courante));
          EGAL(Yzz,sCOEFFICIENT_Yzz(numero_de_la_periode_courante));
          EGAL(Yxy,sCOEFFICIENT_Yxy(numero_de_la_periode_courante));
          EGAL(Yyz,sCOEFFICIENT_Yyz(numero_de_la_periode_courante));
          EGAL(Yzx,sCOEFFICIENT_Yzx(numero_de_la_periode_courante));
          EGAL(Yxyz,sCOEFFICIENT_Yxyz(numero_de_la_periode_courante));
                                        /* Calcul des coefficients de la deuxieme iteration.                                         */
          EGAL(Z_,sCOEFFICIENT_Z(numero_de_la_periode_courante));
          EGAL(Zx,sCOEFFICIENT_Zx(numero_de_la_periode_courante));
          EGAL(Zy,sCOEFFICIENT_Zy(numero_de_la_periode_courante));
          EGAL(Zz,sCOEFFICIENT_Zz(numero_de_la_periode_courante));
          EGAL(Zxx,sCOEFFICIENT_Zxx(numero_de_la_periode_courante));
          EGAL(Zyy,sCOEFFICIENT_Zyy(numero_de_la_periode_courante));
          EGAL(Zzz,sCOEFFICIENT_Zzz(numero_de_la_periode_courante));
          EGAL(Zxy,sCOEFFICIENT_Zxy(numero_de_la_periode_courante));
          EGAL(Zyz,sCOEFFICIENT_Zyz(numero_de_la_periode_courante));
          EGAL(Zzx,sCOEFFICIENT_Zzx(numero_de_la_periode_courante));
          EGAL(Zxyz,sCOEFFICIENT_Zxyz(numero_de_la_periode_courante));
                                        /* Calcul des coefficients de la troisieme iteration.                                        */
          EGAL(cx,sVARIABLE_cx0(numero_de_la_periode_courante));
          EGAL(cy,sVARIABLE_cy0(numero_de_la_periode_courante));
          EGAL(cz,sVARIABLE_cz0(numero_de_la_periode_courante));
                                        /* Calcul des valeurs initiales des trois variables (x0,y0,z0).                              */

          vTRANSFORMAT_31(nombre_d_iterations,sNOMBRE_D_ITERATIONS,numero_de_la_periode_courante,fichier_NOMBRE_D_ITERATIONS);
                                        /* Calcul du nombre d'iterations lorsqu'il est variable.                                     */

          Komp(numero_de_l_iteration_courante,nombre_d_iterations)
               Bblock
               RECHERCHE_DES_EXTREMA_DES_COORDONNEES;
                                        /* On notera que cette recherche n'est pas conditionnee par 'editer_les_extrema', car les    */
                                        /* extrema pourraient etre utilises pour la visualisation...                                 */

               Test(IFOU(IL_FAUT(visualiser_le_fantome)
                        ,IFGE(numero_de_l_iteration_courante,PREMIERE_ITERATION_VISUALISEE)
                         )
                    )
                    Bblock
                    CALS(memorisation_1_point_04(SOUS(cx,Xcentre_ESPACE)
                                                ,SOUS(cy,Ycentre_ESPACE)
                                                ,SOUS(cz,Zcentre_ESPACE)
                                                ,numero_de_l_iteration_courante
                                                 )
                         );
                                        /* Memorisation de l'iteration courante...                                                   */
                    Eblock
               ATes
                    Bblock
                    Eblock
               ETes

               ITERE(Icx,cx,Fx(cx,cy,cz));
               ITERE(Icy,cy,Fy(cx,cy,cz));
               ITERE(Icz,cz,Fz(cx,cy,cz));
               MISE_A_JOUR(cx,Icx,cy,Icy,cz,Icz);
                                        /* Iteration...                                                                              */
               Eblock
          EKom

#include  xrk/attractor.1A.I"
          GENERATION_D_UNE_IMAGE_ET_PASSAGE_A_LA_SUIVANTE(BLOC(VIDE;));
                                        /* Generation de l'image courante...                                                         */
          Eblock
     EKom

     EDITION_DES_EXTREMA_DES_COORDONNEES;
                                        /* Edition facultative des extrema des coordonnees.                                          */

     RETU_Commande;
     Eblock
ECommande



Copyright © Jean-François COLONNA, 2019-2024.
Copyright © CMAP (Centre de Mathématiques APpliquées) UMR CNRS 7641 / École polytechnique, Institut Polytechnique de Paris, 2019-2024.