/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*                                                                                    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 )  :                           */
/*                                                                                                                                   */
/*                                                                                                                                   */
/*        Author of '$xrk/attractor.12$I' :                                                                                          */
/*                                                                                                                                   */
/*                    Jean-Francois Colonna (LACTAMME, 1992??????????).                                                              */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*                                                                                    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 )  :                           */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
#TestADef hXmin_ESPACE                                                                                                                  \
                    PARE(-1.0)
#TestADef hYmin_ESPACE                                                                                                                  \
                    PARE(-1.0)
#TestADef hZmin_ESPACE                                                                                                                  \
                    PARE(-1.0)
                                        /* Definition du "coin" inferieur-gauche-arriere de l'espace physique.                       */
                                        /* Ajoute "au cas ou..." le 19990525091333 a cause de 'v $xrv/tri.11$K'.                     */

#TestADef hXmax_ESPACE                                                                                                                  \
                    PARE(1.0)
#TestADef hYmax_ESPACE                                                                                                                  \
                    PARE(1.0)
#TestADef hZmax_ESPACE                                                                                                                  \
                    PARE(1.0)
                                        /* Definition du "coin" superieur-droite-avant de l'espace physique.                         */
                                        /* Ajoute "au cas ou..." le 19990525091333 a cause de 'v $xrv/tri.11$K'.                     */

#TestADef FACTEUR_D_EXTENSION_DE_L_ESPACE_PHYSIQUE                                                                                      \
                    FU                                                                                                                  \
                                        /* Facteur d'extension de l'univers. Celui-ci a ete tout particulierement introduit a        */ \
                                        /* cause de '$xrr/N_corps.11$K' ; en effet, dans ce dernier l'univers defini initialement    */ \
                                        /* etait cinq fois trop petit pour contenir les planetes les plus exterieures. Pour assurer  */ \
                                        /* la compatibilite avec les sequences deja generees, il a suffi d'ajouter ce facteur avec   */ \
                                        /* comme valeur par defaut, l'unite...                                                       */
DEFV(Local,DEFV(Float,INIT(facteur_d_extension_de_l_espace_physique,FACTEUR_D_EXTENSION_DE_L_ESPACE_PHYSIQUE)));
                                        /* Facteur d'extension de l'univers.                                                         */
#TestADef REDUCTEUR_ANAMORPHIQUE_XYZ_DE_L_ESPACE_PHYSIQUE                                                                               \
                    FU
DEFV(Local,DEFV(Float,INIT(reducteur_anamorphique_X_de_l_espace_physique,REDUCTEUR_ANAMORPHIQUE_XYZ_DE_L_ESPACE_PHYSIQUE)));
DEFV(Local,DEFV(Float,INIT(reducteur_anamorphique_Y_de_l_espace_physique,REDUCTEUR_ANAMORPHIQUE_XYZ_DE_L_ESPACE_PHYSIQUE)));
DEFV(Local,DEFV(Float,INIT(reducteur_anamorphique_Z_de_l_espace_physique,REDUCTEUR_ANAMORPHIQUE_XYZ_DE_L_ESPACE_PHYSIQUE)));
                                        /* Reducteurs individuels des trois dimensions (introduits le 20090617155200). Cela permet,  */
                                        /* par exemple, de faire des anamorphoses ; ainsi un reducteur en 'X' valant 2, permet de    */
                                        /* visualiser une sphere (evidemment ecrasee horizontalement...) dans une image 500x1000.    */

#define   EXTENSION_DE_L_ESPACE_PHYSIQUE(longueur,reducteur_anamorphique)                                                               \
                    MUL3(reducteur_anamorphique,facteur_d_extension_de_l_espace_physique,longueur)                                      \
                                        /* Fonction d'extension de l'univers.                                                        */

#define   X_HOMOTHETIE(x)                                                                                                               \
                    FORMATAGE_HORIZONTAL_DES_IMAGES(EXTENSION_DE_L_ESPACE_PHYSIQUE(x,reducteur_anamorphique_X_de_l_espace_physique))
#define   Y_HOMOTHETIE(y)                                                                                                               \
                    FORMATAGE_VERTICAL_DES_IMAGES(EXTENSION_DE_L_ESPACE_PHYSIQUE(y,reducteur_anamorphique_Y_de_l_espace_physique))
#define   Z_HOMOTHETIE(z)                                                                                                               \
                    FORMATAGE_EN_PROFONDEUR_DES_IMAGES(EXTENSION_DE_L_ESPACE_PHYSIQUE(z,reducteur_anamorphique_Z_de_l_espace_physique))
                                        /* Afin de "plier" l'espace au format des images a generer. ATTENTION, le 19991224100516     */
                                        /* la definition :                                                                           */
                                        /*                                                                                           */
                                        /*                  #define   Z_HOMOTHETIE(z)                                             \  */
                                        /*                                      NEUT(EXTENSION_DE_L_ESPACE_PHYSIQUE(z))              */
                                        /*                                                                                           */
                                        /* a ete changee pour resoudre le probleme decrit dans 'v $xrq/nucleon.L4$I 19991224100516'. */

#TestADef Xmin_ESPACE                                                                                                                   \
                    X_HOMOTHETIE(hXmin_ESPACE)
#TestADef Ymin_ESPACE                                                                                                                   \
                    Y_HOMOTHETIE(hYmin_ESPACE)
#TestADef Zmin_ESPACE                                                                                                                   \
                    Z_HOMOTHETIE(hZmin_ESPACE)
                                        /* Definition du "coin" inferieur-gauche-arriere de l'espace physique.                       */
#TestADef Xmax_ESPACE                                                                                                                   \
                    X_HOMOTHETIE(hXmax_ESPACE)
#TestADef Ymax_ESPACE                                                                                                                   \
                    Y_HOMOTHETIE(hYmax_ESPACE)
#TestADef Zmax_ESPACE                                                                                                                   \
                    Z_HOMOTHETIE(hZmax_ESPACE)
                                        /* Definition du "coin" superieur-droite-avant de l'espace physique.                         */
#TestADef Xcentre_ESPACE                                                                                                                \
                    MOYE(hXmin_ESPACE,hXmax_ESPACE)
#TestADef Ycentre_ESPACE                                                                                                                \
                    MOYE(hYmin_ESPACE,hYmax_ESPACE)
#TestADef Zcentre_ESPACE                                                                                                                \
                    MOYE(hZmin_ESPACE,hZmax_ESPACE)
                                        /* Definition de l'origine (ou "centre") de l'espace physique. En fait, elles ne servent     */
                                        /* qu'a recentrer l'attracteur lors de la visualisation, et d'autre part, elles doivent      */
                                        /* etre des constantes absolues a cause de :                                                 */
                                        /*                                                                                           */
                                        /*                  DEFINITION_D_UNE_POSITION(position_indefinie,Xcentre_ESPACE,...);     \  */
                                        /*                                                                                           */
                                        /* dans '$xrq/nucleon.L5$I' (d'ou l'ecriture 'h...').                                        */

#define   hXlongueur_ESPACE                                                                                                             \
                    SOUS(hXmax_ESPACE,hXmin_ESPACE)
#define   hYlongueur_ESPACE                                                                                                             \
                    SOUS(hYmax_ESPACE,hYmin_ESPACE)
#define   hZlongueur_ESPACE                                                                                                             \
                    SOUS(hZmax_ESPACE,hZmin_ESPACE)
#define   mhXYZlongueur_ESPACE                                                                                                          \
                    MIN3(hXlongueur_ESPACE,hYlongueur_ESPACE,hZlongueur_ESPACE)
#define   MhXYZlongueur_ESPACE                                                                                                          \
                    MAX3(hXlongueur_ESPACE,hYlongueur_ESPACE,hZlongueur_ESPACE)
#define   hdiagonale_ESPACE                                                                                                             \
                    Rho_3D(hXlongueur_ESPACE,hYlongueur_ESPACE,hZlongueur_ESPACE)
                                        /* Definition des dimensions de l'espace avant correction eventuelle par les quatre          */
                                        /* operateurs 'EXTENSION_DE_L_ESPACE_PHYSIQUE(...)' et '?_HOMOTHETIE(...)'. Elles sont       */
                                        /* donc independantes de differentes autres variables, et peuvent donc etre utilisees        */
                                        /* pour initialiser certains objets (tel 'rayon_de_visualisation' par exemple...).           */

#define   Xlongueur_ESPACE                                                                                                              \
                    SOUS(Xmax_ESPACE,Xmin_ESPACE)
#define   Ylongueur_ESPACE                                                                                                              \
                    SOUS(Ymax_ESPACE,Ymin_ESPACE)
#define   Zlongueur_ESPACE                                                                                                              \
                    SOUS(Zmax_ESPACE,Zmin_ESPACE)
#define   mXYZlongueur_ESPACE                                                                                                           \
                    MIN3(Xlongueur_ESPACE,Ylongueur_ESPACE,Zlongueur_ESPACE)
#define   MXYZlongueur_ESPACE                                                                                                           \
                    MAX3(Xlongueur_ESPACE,Ylongueur_ESPACE,Zlongueur_ESPACE)
#define   diagonale_ESPACE                                                                                                              \
                    Rho_3D(Xlongueur_ESPACE,Ylongueur_ESPACE,Zlongueur_ESPACE)
                                        /* Definition des dimensions de l'espace apres correction eventuelle par les quatre          */
                                        /* operateurs 'EXTENSION_DE_L_ESPACE_PHYSIQUE(...)' et '?_HOMOTHETIE(...)'.                  */
                                        /*                                                                                           */
                                        /* ATTENTION, jusqu'au 1995101200, c'etait les coordonnees du type 'h?min_ESPACE' et         */
                                        /* 'h?max_ESPACE' qui etaient utilisees pour calculer les differentes longueurs ci-dessus.   */

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        C E N T R A G E   D E S   C O O R D O N N E E S  :                                                                         */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
#include  xrk/attractor.51.I"
                                        /* Introduit sous cette forme le 20061110084827 a cause, en particulier, des '$K' de '$xrq'. */



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