/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        D E F I N I T I O N   D U   Z O O M  :                                                                                     */
/*                                                                                                                                   */
/*                                                                                                                                   */
/*        Author of '$xrq/nucleon.Le$I' :                                                                                            */
/*                                                                                                                                   */
/*                    Jean-Francois Colonna (LACTAMME, 1992??????????).                                                              */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        G E S T I O N   D U   Z O O M   " A U T O M A T I Q U E "  :                                                               */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
#define   ZOOM_AUTOMATIQUE                                                                                                              \
                    FAUX
DEFV(Local,DEFV(Logical,INIT(zoom_automatique,ZOOM_AUTOMATIQUE)));
                                        /* Cet indicateur indique si le rapport courant du zoom 'rapport_courant_du_zoom' est        */
                                        /* celui qui est fourni dans 'liste_ZOOM' ('FAUX'), ou bien s'il est calcule automatiquement */
                                        /* afin qu'une diagonale de l'univers contenue dans le plan Z=0 (par defaut) soit, a epsilon */
                                        /* pres, une diagonale de l'image que l'on genere...                                         */
                                        /*                                                                                           */
                                        /* Je precise donc le 20160506153427 que ce rapport de zoom evalue automatiquement n'a       */
                                        /* rien a voir avec les extrema des coordonnees {X,Y,Z}. On aurait pu en effet imaginer      */
                                        /* que le rapport de zoom soit calcule de facon a ce que l'ensemble des particules           */
                                        /* visualisees tiennent "au plus juste" dans les images calculees, mais cela est evidemment  */
                                        /* impossible a faire a priori. Ainsi, par exemple, avec 'v $xrk/rdn_walk.52K', on ne peut   */
                                        /* pas savoir, avant d'avoir demarre la simulation, ou seront les particules dans le futur ! */

#define   ZOOM_AUTOMATIQUE_MAXIMAL                                                                                                      \
                    FLOT(CENT)
DEFV(Local,DEFV(Float,INIT(zoom_automatique_maximal,ZOOM_AUTOMATIQUE_MAXIMAL)));
                                        /* Plus grand rapport de zoom considere lors du calcul du zoom automatique. ATTENTION, il    */
                                        /* ne faut pas utiliser ici une valeur trop grande afin d'eviter des debordements lors de    */
                                        /* conversions flottantes-entieres dans 'NORMALISATION_O?(...)' lors du calcul iteratif      */
                                        /* de 'rapport_automatique_du_zoom'...                                                       */
#define   FINESSE_DE_CALCUL_DU_ZOOM_AUTOMATIQUE                                                                                         \
                    GRO1(FRA10(FRA10(FU)))
DEFV(Local,DEFV(Float,INIT(finesse_de_calcul_du_zoom_automatique,FINESSE_DE_CALCUL_DU_ZOOM_AUTOMATIQUE)));
                                        /* "Pas" d'approximation du logarithme du rapport de zoom automatique.                       */

#define   Z_DE_CALCUL_DU_ZOOM_AUTOMATIQUE                                                                                               \
                    Zcentre_ESPACE
DEFV(Local,DEFV(Float,INIT(Z_de_calcul_du_zoom_automatique,Z_DE_CALCUL_DU_ZOOM_AUTOMATIQUE)));
                                        /* Coordonnee 'Z' du plan dans lequel faire le calcul de la diagonale de l'Univers.          */

DEFV(Local,DEFV(Float,INIT(rapport_automatique_du_zoom,FLOT__UNDEF)));
                                        /* Rapport automatique du zoom (lorsqu'il a un sens...).                                     */

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        G E S T I O N   D U   Z O O M  :                                                                                           */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
DEFV(Local,DEFV(Float,INIT(rapport_courant_du_zoom,FLOT__UNDEF)));
                                        /* Rapport courant du zoom ; celui-ci est destine a calculer le rayon apparent des           */
                                        /* particules, et est lui-meme mis a jour au debut de chaque nouvelle iteration dans la      */
                                        /* procedure 'CHANGEMENT_DU_POINT_DE_VUE'...                                                 */



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