/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*                                                                                    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.1D$I' :                                                                                          */
/*                                                                                                                                   */
/*                    Jean-Francois COLONNA (LACTAMME, 1993??????????).                                                              */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*                                                                                    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 )  :                           */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
                                        /* Les 'TestADef' qui suivent relatifs a {dXmin_ESPACE,dYmin_ESPACE,dZmin_ESPACE} et a       */
                                        /* {dXmax_ESPACE,dYmax_ESPACE,dZmax_ESPACE,} ont ete introduits le 19990210125449 afin       */
                                        /* de permettre la compilation des programmes 'v $xrv/champs_5.10$K', 'v $xrv/champs_5.20$K' */
                                        /* et 'v $xrv/champs_5.30$K' (et d'autres encore...).                                        */
#TestADef dXmin_ESPACE                                                                                                                  \
                    FLOT__NOIR
#TestADef dYmin_ESPACE                                                                                                                  \
                    FLOT__NOIR
#TestADef dZmin_ESPACE                                                                                                                  \
                    FLOT__NOIR
                                        /* Definition des minima des differentielles {dx,dy,dz}.                                     */
#TestADef dXmax_ESPACE                                                                                                                  \
                    FLOT__BLANC
#TestADef dYmax_ESPACE                                                                                                                  \
                    FLOT__BLANC
#TestADef dZmax_ESPACE                                                                                                                  \
                    FLOT__BLANC
                                        /* Definition des maxima des differentielles {dx,dy,dz}.                                     */

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        R E N O R M A L I S A T I O N   D E S   D I F F E R E N T I E L L E S  :                                                   */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
#TestADef RENORMALISER_ARBITRAIREMENT_LES_DIFFERENTIELLES                                                                               \
                    VRAI
DEFV(Local,DEFV(Logical,INIT(renormaliser_arbitrairement_les_differentielles,RENORMALISER_ARBITRAIREMENT_LES_DIFFERENTIELLES)));
                                        /* Indique si l'on doit renormaliser les differentielles par rapport au definitions du       */
                                        /* type (d?min_ESPACE,d?max_ESPACE) ('VRAI') ou les laisser telles quelles ('FAUX'). Dans    */
                                        /* ce cas, il y aura renormalisation par le moyen de leurs extrema veritables, et ce dans    */
                                        /* la procedure 'RENORMALISATION_D_UNE_LISTE_DE_POINTS'...                                   */

#TestADef FAIRE_LA_RENORMALISATION_DES_DIFFERENTIELLES                                                                                  \
                    VRAI
DEFV(Local,DEFV(Logical,INIT(faire_la_renormalisation_des_differentielles,FAIRE_LA_RENORMALISATION_DES_DIFFERENTIELLES)));
                                        /* Indique si l'on doit finalement bien faire la renormalisation des differentielles.        */
                                        /* Cela fut introduit le 20221005143106 lors de la mise au point de 'v $xiirv/NFRI.F1'       */
                                        /* afin de faire apparaitre un sol des piques de luminance correct. La valeur par defaut     */
                                        /* garantit la compatibilite anterieure...                                                   */

#TestADef LES_TROIS_LES_DIFFERENTIELLES_PEUVENT_ETRE_NULLES                                                                             \
                    VRAI
DEFV(Local,DEFV(Logical,INIT(les_trois_les_differentielles_peuvent_etre_nulles,LES_TROIS_LES_DIFFERENTIELLES_PEUVENT_ETRE_NULLES)));
                                        /* Cet indicateur a ete introduit le 20030130131901 afin de corriger ce qui semble etre un   */
                                        /* archaisme ('v $xrv/champs_5.11$I 20030129175316' et '$xrv/champs_5.26$I 20030129175252'). */
                                        /* La valeur 'FAUX' de cet indicateur permet d'assurer la compatibilite avec les executions  */
                                        /* anterieures au 20030130131901...                                                          */

DEFV(Local,DEFV(Float,INIT(dXmin_ESPACE_parametrable,dXmin_ESPACE)));
DEFV(Local,DEFV(Float,INIT(dYmin_ESPACE_parametrable,dYmin_ESPACE)));
DEFV(Local,DEFV(Float,INIT(dZmin_ESPACE_parametrable,dZmin_ESPACE)));
                                        /* Introduit le 20160330135155 afin de permettre le texturage des surfaces de facon a ce     */
                                        /* que la texture choisie (qui suivant les ponderation peut devenir les differentielles :    */
                                        /* 'v $xrs/surfaces.12$I EGAL.dcx,BARY.differentielle_x.texture_x.ponderation_ROUGE_pour_')  */
                                        /* soit conservee et non pas renormalisee de facon arbitraire...                             */

#define   dXmin_ESPACE_effectif                                                                                                         \
                    COND(IL_NE_FAUT_PAS(prendre_la_valeur_absolue_des_differentielles)                                                  \
                        ,dXmin_ESPACE_parametrable                                                                                      \
                        ,FZERO                                                                                                          \
                         )
#define   dYmin_ESPACE_effectif                                                                                                         \
                    COND(IL_NE_FAUT_PAS(prendre_la_valeur_absolue_des_differentielles)                                                  \
                        ,dYmin_ESPACE_parametrable                                                                                      \
                        ,FZERO                                                                                                          \
                         )
#define   dZmin_ESPACE_effectif                                                                                                         \
                    COND(IL_NE_FAUT_PAS(prendre_la_valeur_absolue_des_differentielles)                                                  \
                        ,dZmin_ESPACE_parametrable                                                                                      \
                        ,FZERO                                                                                                          \
                         )
                                        /* Introduit le 20060201100408...                                                            */
                                        /*                                                                                           */
                                        /* ATTENTION : on notera le passage de 'FLOT__NOIR' a 'FZERO' le 20060203091131 car,         */
                                        /* en effet, 'FZERO' est plus logique en presence d'un 'ABSO(...)', meme si a priori         */
                                        /* 'FLOT__NOIR' a la meme valeur...                                                          */

DEFV(Local,DEFV(Float,INIT(dXmax_ESPACE_parametrable,dXmax_ESPACE)));
DEFV(Local,DEFV(Float,INIT(dYmax_ESPACE_parametrable,dYmax_ESPACE)));
DEFV(Local,DEFV(Float,INIT(dZmax_ESPACE_parametrable,dZmax_ESPACE)));
                                        /* Introduit le 20160330135155 afin de permettre le texturage des surfaces de facon a ce     */
                                        /* que la texture choisie (qui suivant les ponderation peut devenir les differentielles :    */
                                        /* 'v $xrs/surfaces.12$I EGAL.dcx,BARY.differentielle_x.texture_x.ponderation_ROUGE_pour_')  */
                                        /* soit conservee et non pas renormalisee de facon arbitraire...                             */

#define   dXmax_ESPACE_effectif                                                                                                         \
                    COND(IL_NE_FAUT_PAS(prendre_la_valeur_absolue_des_differentielles)                                                  \
                        ,dXmax_ESPACE_parametrable                                                                                      \
                        ,MAX2(ABSO(dXmin_ESPACE_parametrable),ABSO(dXmax_ESPACE_parametrable))                                          \
                         )
#define   dYmax_ESPACE_effectif                                                                                                         \
                    COND(IL_NE_FAUT_PAS(prendre_la_valeur_absolue_des_differentielles)                                                  \
                        ,dYmax_ESPACE_parametrable                                                                                      \
                        ,MAX2(ABSO(dYmin_ESPACE_parametrable),ABSO(dYmax_ESPACE_parametrable))                                          \
                         )
#define   dZmax_ESPACE_effectif                                                                                                         \
                    COND(IL_NE_FAUT_PAS(prendre_la_valeur_absolue_des_differentielles)                                                  \
                        ,dZmax_ESPACE_parametrable                                                                                      \
                        ,MAX2(ABSO(dZmin_ESPACE_parametrable),ABSO(dZmax_ESPACE_parametrable))                                          \
                         )
                                        /* Introduit le 20060201101834...                                                            */

#define   X_DERIVEE_DANS_01(dx)                                                                                                         \
                    COND(IL_FAUT(renormaliser_arbitrairement_les_differentielles)                                                       \
                        ,NORM(dx,dXmin_ESPACE_effectif,dXmax_ESPACE_effectif)                                                           \
                        ,dx                                                                                                             \
                         )
#define   Y_DERIVEE_DANS_01(dy)                                                                                                         \
                    COND(IL_FAUT(renormaliser_arbitrairement_les_differentielles)                                                       \
                        ,NORM(dy,dYmin_ESPACE_effectif,dYmax_ESPACE_effectif)                                                           \
                        ,dy                                                                                                             \
                         )
#define   Z_DERIVEE_DANS_01(dz)                                                                                                         \
                    COND(IL_FAUT(renormaliser_arbitrairement_les_differentielles)                                                       \
                        ,NORM(dz,dZmin_ESPACE_effectif,dZmax_ESPACE_effectif)                                                           \
                        ,dz                                                                                                             \
                         )
                                        /* Formules de renormalisation des differentielles dans [0,1] ; elles sont utilisees lorsque */
                                        /* la production d'images en couleurs est demandee (voir 'visualiser_en_RVB').               */

#define   X_DERIVEE_DENORMALISEE(dx)                                                                                                    \
                    COND(IL_FAUT(renormaliser_arbitrairement_les_differentielles)                                                       \
                        ,DENO(dx,dXmin_ESPACE_effectif,dXmax_ESPACE_effectif)                                                           \
                        ,dx                                                                                                             \
                         )
#define   Y_DERIVEE_DENORMALISEE(dy)                                                                                                    \
                    COND(IL_FAUT(renormaliser_arbitrairement_les_differentielles)                                                       \
                        ,DENO(dy,dYmin_ESPACE_effectif,dYmax_ESPACE_effectif)                                                           \
                        ,dy                                                                                                             \
                         )
#define   Z_DERIVEE_DENORMALISEE(dz)                                                                                                    \
                    COND(IL_FAUT(renormaliser_arbitrairement_les_differentielles)                                                       \
                        ,DENO(dz,dZmin_ESPACE_effectif,dZmax_ESPACE_effectif)                                                           \
                        ,dz                                                                                                             \
                         )
                                        /* Formules de denormalisation des differentielles ; elles sont utilisees par le trace des   */
                                        /* axes ('v $xrv/particule.12$I').                                                           */



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.