#######################################################################################################################################
#                                                                                                                                     #
#         G E N E R A T I O N   D E   C A R T E S   D E   D E N S I T E   B I D I M E N S I O N N E L L E S                           #
#         A V E C   A J U S T E M E N T   A U T O M A T I Q U E                                                                       #
#         ( V E R S I O N   S E Q U E N T I E L L E )  :                                                                              #
#                                                                                                                                     #
#                                                                                                                                     #
#         Author of '$xivP/disk.000000009/face.2/.REFL.A.12.$U' :                                                                                    #
#                                                                                                                                     #
#                     Jean-Francois COLONNA (LACTAMME, AAAAMMJJhhmmss).                                                               #
#                                                                                                                                     #
#######################################################################################################################################

$Z                  setParam            _____ElimR                    $BLANC

$Z                  setParam            _____ElimV                    $BLANC

$Z                  setParam            _____ElimB                    $BLANC

$Z                  setParam            _____imagesWW                 $xTV/REFL.Wb
$Z                                      # Ceci a ete introduit le 20020405170829 dans l'idee de pouvoir generer de temps en temps     #
$Z                                      # les images '$_____imagesWW' dans '$xTV', malgre le danger que cela presente (a cause de     #
$Z                                      # '$xcg/Xtemporaires$Z' via '$xcg/Xall$Z' ; on aura donc interet a utiliser la commande       #
$Z                                      # 'bXall' dans ce contexte...).                                                               #

$Z                  setParam            _____EspaceTore               FAUX
$Z                                      # Introduit le 20070416091506...                                                              #

$Z                  setParam            _____EspaceToreX              VRAI
$Z                                      # Introduit le 20070424105842...                                                              #

$Z                  setParam            _____EspaceToreY              VRAI
$Z                                      # Introduit le 20070424105842...                                                              #

$Z                  setParam            _____EspaceToreZ              VRAI
$Z                                      # Introduit le 20070424105842...                                                              #

$Z                  setParam            _____Rcarte                   FAUX

$Z                  setParam            _____GCcarte                  FAUX

$Z                  setParam            _____Scarte                   +1e+308

$Z                  setParam            _____FDcarte                  1

$Z                  setParam            _____FEcarte                  200

$Z                  setParam            _____Kcarte                   $NEXIST

$Z                  setParam            _____Palette                  $xiP/cercle.35

$X                  echo                "neutre"
$X                                      # commande destinee uniquement a mettre a jour l'environnement 'env'...                       #

$Z                  $DELETE             $xTV/LISTE_POINTS.REDUITE

$Z                  $CA                 $xTV/LISTE_POINTS                                                                               \
$Z                                      | $GRE    -v " ROUGE=+$_____ElimR VERTE=+$_____ElimV BLEUE=+$_____ElimB "                       \
$Z                                                                                                  >   $xTV/LISTE_POINTS.REDUITE

$c                  #include  <stdio.h>
$c
$c                  extern    int       atoi();
$c                  extern    char      *getenv();
$c
$c                  #define   NA0       (atoi(getenv("PremiereA")))
$c                  #define   NA        (atoi(getenv("DerniereA")))
$c
$c                  #define   E_CARTE   2
$c                                      /* Exposant des distances dans l'exponentielle.                                              */
$c
$c                  int       main()
$c                            {
$c                            int       n;
$c
$c                            for       (n=NA0 ; n<=NA ; n++)
$c                                      {
$c                                      printf("$DELETE     $xTV/COORDONNEES$COORD_X\n");
$c                                      printf("$DELETE     $xTV/COORDONNEES$COORD_Y\n");
$c                                      printf("$DELETE     $xTV/COORDONNEES$COORD_Z\n");
$c
$c                                      printf("$CA         $xTV/LISTE_POINTS.REDUITE                                             |
$c                                              $GRE        'periode=%d '                                                         |
$c                                              $SE         -e 's/^.* X=//'
$c                                                          -e 's/ .*$//'                                                         |
$c                                              $xrv/neutre$X
$c                                                          ne=0
$c                                                          fichier='='
$c                                                          formater=VRAI decimales=8
$c                                                          > $xTV/COORDONNEES$COORD_X\n"
$c                                            ,n
$c                                            ,'"','"'
$c                                             );
$c                                      printf("$CA         $xTV/LISTE_POINTS.REDUITE                                             |
$c                                              $GRE        'periode=%d '                                                         |
$c                                              $SE         -e 's/^.* Y=//'
$c                                                          -e 's/ .*$//'                                                         |
$c                                              $xrv/neutre$X
$c                                                          ne=0
$c                                                          fichier='='
$c                                                          formater=VRAI decimales=8
$c                                                          > $xTV/COORDONNEES$COORD_Y\n"
$c                                            ,n
$c                                            ,'"','"'
$c                                             );
$c                                      printf("$CA         $xTV/LISTE_POINTS.REDUITE                                             |
$c                                              $GRE        'periode=%d '                                                         |
$c                                              $SE         -e 's/^.* Z=//'
$c                                                          -e 's/ .*$//'                                                         |
$c                                              $xrv/neutre$X
$c                                                          ne=0
$c                                                          fichier='='
$c                                                          formater=VRAI decimales=8
$c                                                          > $xTV/COORDONNEES$COORD_Z\n"
$c                                            ,n
$c                                            ,'"','"'
$c                                             );
$c                                      /* L'utilisation de 'decimales=8' permet de traiter proprement le probleme du aux erreurs    */
$c                                      /* d'arrondi ('v _____xivPdf_09_2/.REFL.w.12.$U arrondi').                                   */
$c
$c                                      printf("set  ParticulesX=`$WC $xTV/COORDONNEES$COORD_X`\n");
$c                                      printf("set  ParticulesX=$ParticulesX[$WC1]\n");
$c                                      printf("set  ParticulesY=`$WC $xTV/COORDONNEES$COORD_Y`\n");
$c                                      printf("set  ParticulesY=$ParticulesY[$WC1]\n");
$c                                      printf("set  ParticulesZ=`$WC $xTV/COORDONNEES$COORD_Z`\n");
$c                                      printf("set  ParticulesZ=$ParticulesZ[$WC1]\n");
$c
#20220615105858____:$c                  printf("set  Particules=`$xcg/MAX3.01$X x=$ParticulesX y=$ParticulesY z=$ParticulesZ`\n");    #
$c                                      printf("set  Particules=`$xcg/MIN3.01$X x=$ParticulesX y=$ParticulesY z=$ParticulesZ`\n");
$c
$c                                      printf("$xrv/densite.01$X
$c                                                          ne=$Particules
$c                                                          LISTE_X=$xTV/COORDONNEES$COORD_X
$c                                                          LISTE_Y=$xTV/COORDONNEES$COORD_Y
$c                                                          LISTE_Z=$xTV/COORDONNEES$COORD_Z
$c                                                          torique=$_____EspaceTore
$c                                                          toriqueX=$_____EspaceToreX
$c                                                          toriqueY=$_____EspaceToreY
$c                                                          toriqueZ=$_____EspaceToreZ
$c                                                          rectangulaire=$_____Rcarte
$c                                                          grand_carre=$_____GCcarte
$c                                                          Eexposant=%f
$c                                                          seuil=$_____Scarte
$c                                                          facteur=$_____FDcarte
$c                                                          Efacteur=$_____FEcarte
$c                                                          R=$_____imagesWW.%04d
$c                                                          $formatI\n"
$c                                            ,(double)E_CARTE
$c                                            ,n
$c                                             );
$c
$c                                      printf("if        ($_____Kcarte == $EXIST) then\n");
$c                                      printf("          $xcg/Float_float$X
$c                                                                    A=$_____imagesWW.%04d
$c                                                                    R=$_____imagesWW.%04d
$c                                                                    $formatI\n"
$c                                            ,n
$c                                            ,n
$c                                             );
$c                                      printf("else\n");
$c                                      printf("endif\n");
$c                                      /* Generation de la carte de densite.                                                        */
$c                                      }
$c
$c                            printf("$DELETE     $xTV/MINIMUM\n");
$c                            printf("$DELETE     $xTV/MAXIMUM\n");
$c
$c                            for       (n=NA0 ; n<=NA ; n++)
$c                                      {
$c                                      printf("if        ($_____Kcarte == $EXIST) then\n");
$c                                      printf("          $xcg/float_Float$X
$c                                                                    A=$_____imagesWW.%04d
$c                                                                    R=$_____imagesWW.%04d
$c                                                                    $formatI\n"
$c                                            ,n
$c                                            ,n
$c                                             );
$c                                      printf("else\n");
$c                                      printf("endif\n");
$c
$c                                      printf("$xci/extrema$X
$c                                                          A=$_____imagesWW.%04d
$c                                                          standard=FAUX
$c                                                          minimum=VRAI
$c                                                          maximum=FAUX
$c                                                          $formatI
$c                                                          Prme=VRAI
$c                                                          >>! $xTV/MINIMUM\n"
$c                                            ,n
$c                                             );
$c                                      /* L'option "Prme=VRAI" a ete introduite le 20150221114442 afin de pouvoir remplacer         */
$c                                      /* ">>&!" par ">>!"...                                                                       */
#20150221094915____:$c                                      printf("saut                                                              #
#20150221094915____:$c                                                          >>&! $xTV/MINIMUM\n"                                  #
#20150221094915____:$c                                             );                                                                 #
$c                                      printf("$xci/extrema$X
$c                                                          A=$_____imagesWW.%04d
$c                                                          standard=FAUX
$c                                                          minimum=FAUX
$c                                                          maximum=VRAI
$c                                                          $formatI
$c                                                          Prme=VRAI
$c                                                          >>! $xTV/MAXIMUM\n"
$c                                            ,n
$c                                             );
$c                                      /* L'option "Prme=VRAI" a ete introduite le 20150221114442 afin de pouvoir remplacer         */
$c                                      /* ">>&!" par ">>!"...                                                                       */
#20150221094915____:$c                                      printf("saut                                                              #
#20150221094915____:$c                                                          >>&! $xTV/MAXIMUM\n"                                  #
#20150221094915____:$c                                             );                                                                 #
$c
$c                                      printf("if        ($_____Kcarte == $EXIST) then\n");
$c                                      printf("          $xcg/Float_float$X
$c                                                                    A=$_____imagesWW.%04d
$c                                                                    R=$_____imagesWW.%04d
$c                                                                    $formatI\n"
$c                                            ,n
$c                                            ,n
$c                                             );
$c                                      printf("else\n");
$c                                      printf("endif\n");
$c                                      /* Extraction des extrema de chacune des cartes.                                             */
$c                                      }
$c
$c             printf("set         MinC=`$xrv/extrema.01$X ne=0 fichier=$xTV/MINIMUM | $GRE '^minimum=' | $SE -e 's/^.*=//'`\n");
$c             printf("set         MaxC=`$xrv/extrema.01$X ne=0 fichier=$xTV/MAXIMUM | $GRE '^maximum=' | $SE -e 's/^.*=//'`\n");
$c                                      /* Extraction des extrema de l'ensemble des cartes.                                          */
$c
$c                            for       (n=NA0 ; n<=NA ; n++)
$c                                      {
$c                                      printf("if        ($_____Kcarte == $EXIST) then\n");
$c                                      printf("          $xcg/float_Float$X
$c                                                                    A=$_____imagesWW.%04d
$c                                                                    R=$_____imagesWW.%04d
$c                                                                    $formatI\n"
$c                                            ,n
$c                                            ,n
$c                                             );
$c                                      printf("else\n");
$c                                      printf("endif\n");
$c
$c                                      printf("$xci/acces$X
$c                                                          A=$_____imagesWW.%04d
$c                                                          standard=FAUX
$c                                                          extrema=FAUX
$c                                                          minimum=$MinC
$c                                                          maximum=$MaxC
$c                                                          tronquer=FAUX
$c                                                          R=$_____imagesD.%04d
$c                                                          $formatI\n"
$c                                            ,n
$c                                            ,n
$c                                             );
$c                                      /* Et enfin conversion "standard" avec renormalisation globale...                            */
$c
$c                                      printf("$xci/vraies_C$X
$c                                                          A=$_____imagesD.%04d
$c                                                          p=$_____Palette
$c                                                          RVB=VRAI
$c                                                          R=$_____imagesD.%04d
$c                                                          $formatI\n"
$c                                            ,n
$c                                            ,n
$c                                             );
$c                                      /* Puis conversion en vraies couleurs...                                                     */
$c
#20070410083110____:$c                                      printf("$DELETE     $_____imagesWW.%04d\n"                                #
#20070410083110____:$c                                            ,n                                                                  #
#20070410083110____:$c                                             );                                                                 #
$c                                      /* Enfin, on fait du menage afin de ne pas rencontrer des problemes d'espace disque          */
$c                                      /* sur '$LACT29' ou ailleurs...                                                              */
$c                                      /*                                                                                           */
$c                                      /* La modification du 20070410083110 est due a 'v $xiak/$Fnota Debut_listG_REFN_11' qui      */
$c                                      /* a besoin des images '$_____imagesWW' ensuite...                                           */
$c                                      }
$c                            }

$Z                  $DELETE                                      $xTV/LISTE_POINTS.REDUITE
$Z                                      # Le 20020419162527 j'ai supprime le :                                                        #
$Z                                      #                                                                                             #
$Z                                      #                   $DELETE                                      $xTV/LISTE_POINTS            #
$Z                                      #                                                                                             #
$Z                                      # car il est preferable de garder a priori ce fichier qui est en general long a generer...    #
$Z                  $DELETE                                      $xTV/COORDONNEES$COORD_X
$Z                  $DELETE                                      $xTV/COORDONNEES$COORD_Y
$Z                  $DELETE                                      $xTV/COORDONNEES$COORD_Z
$Z                  $DELETE                                      $xTV/MINIMUM
$Z                  $DELETE                                      $xTV/MAXIMUM



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.