#######################################################################################################################################
#                                                                                                                                     #
#         G E N E R A T I O N   D ' I M A G E S   R E L A T V E S   A   L ' E N T R O P I E   D E   B O L T Z M A N N  :              #
#                                                                                                                                     #
#                                                                                                                                     #
#         Author of '$xiirv/.BOLT.11.1.$U' :                                                                                          #
#                                                                                                                                     #
#                     Jean-Francois COLONNA (LACTAMME, 20210819121525).                                                               #
#                                                                                                                                     #
#######################################################################################################################################

$Z                  setParam            _____Format                   "Suq"
$Z                                      # Parametre introduit le 20210821180923...                                                    #

$Z                  setParam            _____Dimension                64

$Z                  setParam            _____Graine                   1947

$Z                  setParam            _____NPile                    $GRIS_2

$Z                  setParam            _____NFace                    $GRIS_8

$Z                  setParam            _____NGrille                  $GRIS_4

$Z                  setParam            _____NEntropie                $GRIS_6

$Z                  setParam            _____DemiPave                 1
$Z                                      # Parametre introduit le 20210821180923...                                                    #

$Z                  @                   PaRiTe = $_____Dimension % 2

$Z                  if                  ($PaRiTe != 0) then
$Z                                      # Verification introduite le 20210824105710...                                                #
#20220105113156____:$Z             ATTENTION           "Il est preferable que $K_QS$K_DOLLAR""_____Dimension$K_QS soit paire \\c"     #
$Z                                      ATTENTION           "Il est preferable que $K_QS$K_DOLLAR""_____Dimension$K_QS soit paire \c"
$Z                                      echo                "afin que l'entropie n'ait qu'un seul maximum."
$Z                  else
$Z                  endif

$Z                  set                 format_FoRmAt=`eval echo "$K_DOLLAR""format_""$_____Format"`
$Z                  set                 format_dimXFoRmAt=`eval echo "$K_DOLLAR""dimX""$_____Format"`
$Z                  set                 format_dimYFoRmAt=`eval echo "$K_DOLLAR""dimY""$_____Format"`
$Z                                      # Introduit le 20210821102347 pour ameliorer le parametrage...                                #

$Z                  FilSTmpB            LiStEPoInTs

$Z                  set                 CoOrDoNnEe_Xmin=`calcul $Xmin+1`
$Z                                      # Afin de rendre la barre X=0 implicite puisqu'elle est vide...                               #
$Z                  set                 CoOrDoNnEe_Xmax=`calcul $Xmin+$_____Dimension`

$Z                  set                 CoOrDoNnEe_Ymin=`calcul $Ymin`
$Z                  set                 CoOrDoNnEe_Ymax=`calcul $Ymin+$_____Dimension-1`

$Z                  set                 CoOrDoNnEe_X=$CoOrDoNnEe_Xmin

$Z                  set                 GrAiNe=$_____Graine

$Z                  while               ($CoOrDoNnEe_X <= $CoOrDoNnEe_Xmax)
$Z                                      $xci/valeurs_inte$X premiere=$CoOrDoNnEe_Xmin derniere=$CoOrDoNnEe_X                            \
$Z                                                          vD=$CoOrDoNnEe_X vA=$CoOrDoNnEe_X                                           \
$Z                                                          lineaire=VRAI                                                               \
$Z                                                          entiers=FAUX                                                                \
$Z                                                                                                  >>! $LiStEPoInTs$COORD_X
$Z                                      # On notera le "entiers=FAUX" ('v $xci/valeurs_inte$K entier=FAUX' a ce propos...).           #

$Z                                      $xci/valeurs_alea$X premiere=$CoOrDoNnEe_Xmin derniere=$CoOrDoNnEe_X                            \
$Z                                                          inferieur=$CoOrDoNnEe_Ymin superieur=$CoOrDoNnEe_Ymax                       \
$Z                                                          entiers=VRAI sans_collisions=VRAI message_borne_superieure_entiere=FAUX     \
$Z                                                          graine=$GrAiNe                                                              \
$Z                                                                                                  >>! $LiStEPoInTs$COORD_Y
$Z                                      # Ainsi, on genere 65 barres verticales contenant de gauche a droite {0,1,...,63,64} points,  #
$Z                                      # la barre X=0 etant implicite puisque l'on commence a '$Xmin+1' et ce parce que cette barre  #
$Z                                      # est vide...                                                                                 #

$Z                                      @                   GrAiNe = $GrAiNe + 1
$Z                                      @                   CoOrDoNnEe_X = $CoOrDoNnEe_X + 1
$Z                  end

$Z                  set                 NPoInTsX=`$CA $LiStEPoInTs$COORD_X | $WCl`
$Z                  set                 NPoInTsY=`$CA $LiStEPoInTs$COORD_Y | $WCl`

$Z                  set                 NPoInTs=`$xcg/MIN2.01$X x=$NPoInTsX y=$NPoInTsY`

$Z                  $xrv/store_image$X                                                                                                  \
$Z                                      A=$_____NPile                                                                                   \
$Z                                      ne=$NPoInTs                                                                                     \
$Z                                      Xdenormalisees=VRAI                                                                             \
$Z                                      LISTE_X=$LiStEPoInTs$COORD_X                                                                    \
$Z                                      Ydenormalisees=VRAI                                                                             \
$Z                                      LISTE_Y=$LiStEPoInTs$COORD_Y                                                                    \
$Z                                      Ndenormalises=VRAI                                                                              \
$Z                                      LISTE_NIVEAU=$_____NFace                                                                        \
$Z                                      R=$_____ImageR                                                                                  \
$Z                                                                                                                      $format_FoRmAt

$Z                  $xci/format.01$X                                                                                                    \
$Z                                      A=$_____ImageR                                                                                  \
$Z                                                                                                                      $format_FoRmAt  \
$Z                                      mode=0                                                                                          \
$Z                                      R=$_____ImageR                                                                                  \
$Z                                                                                                                      $formatIR

$Z                  $xci/grille.01$X                                                                                                    \
$Z                                      A=$_____ImageR                                                                                  \
$Z                                      denormalisees=VRAI                                                                              \
$Z                                      mx=`calculINS $dimX/$format_dimXFoRmAt`                                                         \
$Z                                      X_increment_gauche=-1                                                                           \
$Z                                      my=`calculINS $dimY/$format_dimYFoRmAt`                                                         \
$Z                                      Y_increment_bas=-1                                                                              \
$Z                                      niveau=$_____NGrille                                                                            \
$Z                                      R=$_____ImageR                                                                                  \
$Z                                                                                                                      $formatI
$Z                                      # Mise en place de la grille...                                                               #


$Z                  set                 EfFaCeMeNt_X=`calcul ($format_dimXFoRmAt-($_____Dimension+1))/$format_dimXFoRmAt`
$Z                  set                 EfFaCeMeNt_Y=`calcul ($format_dimXFoRmAt-($_____Dimension+0))/$format_dimYFoRmAt`

$Z                  set                 CeNtRaGe_X=`calcul $EfFaCeMeNt_X/2`

$Z                  $xci/scroll$X                                                                                                       \
$Z                                      A=$_____ImageR                                                                                  \
$Z                                      toreX=FAUX trX=+$EfFaCeMeNt_X                                                                   \
$Z                                      toreY=FAUX trY=+$EfFaCeMeNt_Y                                                                   \
$Z                                                                                                                      $formatI  |     \
$Z                  $xci/scroll$X                                                                                                       \
$Z                                      toreX=FAUX trX=-$CeNtRaGe_X                                                                     \
$Z                                      toreY=FAUX trY=`calcul -$EfFaCeMeNt_Y+0.01`                                                     \
$Z                                      R=$_____ImageR                                                                                  \
$Z                                                                                                                      $formatI
$Z                                      # Positionnement de la grille remplie...                                                      #

$Z                  FilSTmpB  LiStEEnTrOpIe

#20210821103832____:$Z                  $BC                 -l $xtb/combinaisons.01                                          |     \  #
#20210821103832____:$Z                  $GRE                " entropie="                                                     |     \  #
#20210821103832____:$Z                  $AW                 ' { print $2 } '                                                 |     \  #
#20210821103832____:$Z                  $SE                 -e "s/^.*=//"                                                    |     \  #
#20210821103832____:$Z                  $xrv/normalise.01$X                                                                        \  #
#20210821103832____:$Z                                      ne=0                                                                   \  #
#20210821103832____:$Z                                      fichier==                                                              \  #
#20210821103832____:$Z                                      minimum=0.01                                                           \  #
#20210821103832____:$Z                                      maximum=0.46                                                           \  #
#20210821103832____:$Z                                                                              >   $LiStEEnTrOpIe$COORD_Y        #
$Z                                      # Recuperation de l'entropie (en fait le logarithme en faisant egale a 1 la constante de      #
$Z                                      # Boltzmann) "renormalisee" definissant les ordonnees...                                      #

#20210821120214____:$Z                  $BC                 -l $xtb/combinaisons.01                                          |     \  #
#20210821120214____:$Z                  $GRE                " entropie="                                                     |     \  #
#20210821120214____:$Z                  $AW                 ' { print $2 } '                                                 |     \  #
#20210821120214____:$Z                  $SE                 -e "s/^.*=//"                                                    |     \  #
#20210821120214____:$Z                  $xrv/normalise.01$X                                                                        \  #
#20210821120214____:$Z                                      ne=0                                                                   \  #
#20210821120214____:$Z                                      fichier==                                                              \  #
#20210821120214____:$Z                                      minimum=0.01                                                           \  #
#20210821120214____:$Z                                      maximum=`calcul $EfFaCeMeNt_Y-0.04`                                    \  #
#20210821120214____:$Z                                                                              >   $LiStEEnTrOpIe$COORD_Y        #

$Z                  FilSTmpB  FArGuMeNtS

$Z                  echo                "n=$_____Dimension"                                                                             \
$Z                                                                              >>  $FArGuMeNtS

#20210826113114____:$Z                  set                 MiNiMuM_Y=0.01                                                            #
$Z                                      # Introduit le 20210826110946...                                                              #

#20210826110946____:$Z                  $BC                 -l $FArGuMeNtS $xtb/EntropieConfiguration.01                     |     \  #
#20210826110946____:$Z                  $SE                 -e "s/^.*=//"                                                    |     \  #
#20210826110946____:$Z                  $xrv/normalise.01$X                                                                        \  #
#20210826110946____:$Z                                      ne=0                                                                   \  #
#20210826110946____:$Z                                      fichier==                                                              \  #
#20210826110946____:$Z                                      minimum=0.01                                                           \  #
#20210826110946____:$Z                                      maximum=`calcul $EfFaCeMeNt_Y-0.04`                                    \  #
#20210826110946____:$Z                                                                              >   $LiStEEnTrOpIe$COORD_Y        #

#20210826113114____:$Z                  $BC                 -l $FArGuMeNtS $xtb/EntropieConfiguration.01                     |     \  #
#20210826113114____:$Z                  $SE                 -e "s/^.*=//"                                                    |     \  #
#20210826113114____:$Z                  $xrv/normalise.01$X                                                                        \  #
#20210826113114____:$Z                                      ne=0                                                                   \  #
#20210826113114____:$Z                                      fichier==                                                              \  #
#20210826113114____:$Z                                      minimum=$MiNiMuM_Y                                                     \  #
#20210826113114____:$Z                                      maximum=`calcul $EfFaCeMeNt_Y-0.04`                                    \  #
#20210826113114____:$Z                                                                              >   $LiStEEnTrOpIe$COORD_Y        #

#20210826113114____:$Z                  $BC                 -l $FArGuMeNtS $xtb/EntropieConfiguration.01                     |     \  #
#20210826113114____:$Z                  $SE                 -e "s/^.*=//"                                                    |     \  #
#20210826113114____:$Z                  $xrv/normalise.01$X                                                                        \  #
#20210826113114____:$Z                                      ne=0                                                                   \  #
#20210826113114____:$Z                                      fichier==                                                              \  #
#20210826113114____:$Z                                      minimum=0                                                              \  #
#20210826113114____:$Z                                      maximum=`calcul $EfFaCeMeNt_Y-0.04`                                    \  #
#20210826113114____:$Z                                                                              >   $LiStEEnTrOpIe$COORD_Y        #

$Z                  $BC                 -l $FArGuMeNtS $xtb/EntropieConfiguration.01                                              |     \
$Z                  $SE                 -e "s/^.*=//"                                                                             |     \
$Z                  $xrv/normalise.01$X                                                                                                 \
$Z                                      ne=0                                                                                            \
$Z                                      fichier==                                                                                       \
$Z                                      minimum=0                                                                                       \
$Z                                      maximum=`calcul $EfFaCeMeNt_Y-0.035`                                                            \
$Z                                                                              >   $LiStEEnTrOpIe$COORD_Y
$Z                                      # Recuperation de l'entropie (en fait le logarithme en faisant egale a 1 la constante de      #
$Z                                      # Boltzmann) "renormalisee" definissant les ordonnees...                                      #
$Z                                      #                                                                                             #
$Z                                      # Le parametre numerique '0.04' est arbitraire et est destine a eviter que l'histogramme      #
$Z                                      # touche le sommet de l'image (etant strictement positif...).                                 #

$Z                  FilSTmpE  FArGuMeNtS

$Z                  set                 NPoInTsY=`$CA $LiStEEnTrOpIe$COORD_Y | $WCl`

$Z                  set                 FaCtEuR=`calcul 0.98*($dimX/$format_dimXFoRmAt)`

$Z                  set                 CoOrDoNnEe_Xmin=`calcul $FaCtEuR*$Xmin`
$Z                  set                 CoOrDoNnEe_Xmax=`calcul $FaCtEuR*$CoOrDoNnEe_Xmax`

#20210821103832____:$Z                  echo                $Xmin                                                            |     \  #
#20210821103832____:$Z                  $CA                 - $LiStEPoInTs$COORD_X                                           |     \  #
#20210821103832____:$Z                  $SE                 -e "s/^[^$Alphabet_0_9]//"                                       |     \  #
#20210821103832____:$Z                  $SOR                -u -n                                                            |     \  #
#20210821103832____:$Z                  $xrv/MUL2.11$X      ne=0                                                                   \  #
#20210821103832____:$Z                                      fichier1==                                                             \  #
#20210821103832____:$Z                                      fichier2=`calcul $dimX/$format_dimXFoRmAt`                             \  #
#20210821103832____:$Z                                      formater=VRAI entiers=VRAI                                       |     \  #
#20210821103832____:$Z                  $xrv/ADD2.11$X      ne=0                                                                   \  #
#20210821103832____:$Z                                 fichier1==                                                                  \  #
#20210821103832____:$Z                                 fichier2=`calculINS ($dimX*$CeNtRaGe_X)-(($dimX/$format_dimXFoRmAt)/2)-1`   \  #
#20210821103832____:$Z                                      formater=VRAI entiers=VRAI                                             \  #
#20210821103832____:$Z                                                                              >   $LiStEEnTrOpIe$COORD_X        #

$Z                  echo                $Xmin                                                                                     |     \
$Z                  $CA                 - $LiStEPoInTs$COORD_X                                                                    |     \
$Z                  $SE                 -e "s/^[^$Alphabet_0_9]//"                                                                |     \
$Z                  $SOR                -u -n                                                                                     |     \
$Z                  $xrv/MUL2.11$X      ne=0                                                                                            \
$Z                                      fichier1==                                                                                      \
$Z                                      fichier2=`calcul $dimX/$format_dimXFoRmAt`                                                      \
$Z                                      formater=VRAI entiers=VRAI                                                                |     \
$Z                  $xrv/ADD2.11$X      ne=0                                                                                            \
$Z                                      fichier1==                                                                                      \
$Z                                      fichier2=`calculINS ($dimX*$CeNtRaGe_X)+(($dimX/$format_dimXFoRmAt)/2)-1`                       \
$Z                                      formater=VRAI entiers=VRAI                                                                      \
$Z                                                                              >   $LiStEEnTrOpIe$COORD_X
$Z                                      # Generation des abscisses sans oublier d'introduire en tete la colonne X=0 (=$Xmin)          #
$Z                                      # implicite...                                                                                #

$Z                  FilSTmpB  HiStOgRaMmE

$Z                  set                 NPoInTsX=`$CA $LiStEEnTrOpIe$COORD_X | $WCl`

$Z                  set                 NPoInTs=`$xcg/MIN2.01$X x=$NPoInTsX y=$NPoInTsY`

#20210826110946____:$Z                  $xrv/store_image$X                                                                         \  #
#20210826110946____:$Z                                      ne=$NPoInTs                                                            \  #
#20210826110946____:$Z                                      Xdenormalisees=VRAI                                                    \  #
#20210826110946____:$Z                                      LISTE_X=$LiStEEnTrOpIe$COORD_X                                         \  #
#20210826110946____:$Z                                      Ydenormalisees=FAUX                                                    \  #
#20210826110946____:$Z                                      LISTE_Y=$LiStEEnTrOpIe$COORD_Y                                         \  #
#20210826110946____:$Z                                      demi_pave_XG=$_____DemiPave demi_pave_XD=$_____DemiPave                \  #
#20210826110946____:$Z                                      demi_pave_YG=$_____DemiPave demi_pave_YD=$_____DemiPave                \  #
#20210826110946____:$Z                                      epaississement_carre=VRAI                                              \  #
#20210826110946____:$Z                                      Ndenormalises=VRAI                                                     \  #
#20210826110946____:$Z                                      LISTE_NIVEAU=$_____NEntropie                                           \  #
#20210826110946____:$Z                                      histogramme=VRAI histogramme_vertical=VRAI                             \  #
#20210826110946____:$Z                                      R=$HiStOgRaMmE                                                         \  #
#20210826110946____:$Z                                                                                                  $formatI      #

#20210826113114____:$Z   set       NMiNiMuM_Y=`$xci/coordonnees$X Yf=$MiNiMuM_Y denormaliser=VRAI eX=FAUX eY=VRAI eZ=FAUX eN=FAUX`    #
$Z                  set                 NMiNiMuM_Y=$_____DemiPave
$Z                                      # Donner cette valeur permet aux points 'log(1)=0' d'etre malgre tout visualises par un       #
$Z                                      # trait d'epaisseur unite (puisque la dimension d'un pave est '(2*$_____DemiPave+1'...        #

$Z                  $xrv/store_image$X                                                                                                  \
$Z                                      ne=$NPoInTs                                                                                     \
$Z                                      Xdenormalisees=VRAI                                                                             \
$Z                                      LISTE_X=$LiStEEnTrOpIe$COORD_X                                                                  \
$Z                                      Ydenormalisees=FAUX                                                                             \
$Z                                      LISTE_Y=$LiStEEnTrOpIe$COORD_Y                                                                  \
$Z                                      demi_pave_XG=$_____DemiPave demi_pave_XD=$_____DemiPave                                         \
$Z                                      demi_pave_YG=$_____DemiPave demi_pave_YD=$_____DemiPave                                         \
$Z                                      epaississement_carre=VRAI                                                                       \
$Z                                      Ndenormalises=VRAI                                                                              \
$Z                                      LISTE_NIVEAU=$_____NEntropie                                                                    \
$Z                                      histogramme=VRAI histogramme_vertical=VRAI Ymin_histogramme_vertical=$NMiNiMuM_Y                \
$Z                                      R=$HiStOgRaMmE                                                                                  \
$Z                                                                                                                      $formatI
$Z                                      # Generation de l'histogramme de l'entropie...                                                #

#20210821103832____:$Z                  $xci/scroll$X                                                                              \  #
#20210821103832____:$Z                                      A=$HiStOgRaMmE                                                         \  #
#20210821103832____:$Z                                      toreX=FAUX trX=0                                                       \  #
#20210821103832____:$Z                                      toreY=FAUX trY=0.520                                                   \  #
#20210821103832____:$Z                                                                                             $formatI  |     \  #
#20210821103832____:$Z                  $xci/cache$X                                                                               \  #
#20210821103832____:$Z                                      A=$_____ImageR                                                         \  #
#20210821103832____:$Z                                      R=$_____ImageR                                                         \  #
#20210821103832____:$Z                                                                                             $formatI           #

$Z                  $xci/scroll$X                                                                                                       \
$Z                                      A=$HiStOgRaMmE                                                                                  \
$Z                                      toreX=FAUX trX=0                                                                                \
$Z                                      toreY=FAUX trY=`calcul (1-$EfFaCeMeNt_Y)+0.020`                                                 \
$Z                                                                                                                      $formatI  |     \
$Z                  $xci/cache$X                                                                                                        \
$Z                                      A=$_____ImageR                                                                                  \
$Z                                      R=$_____ImageR                                                                                  \
$Z                                                                                                                      $formatI
$Z                                      # Mise en place de l'histogramme de l'entropie au-dessus de la grille...                      #

$Z                  FilSTmpE  HiStOgRaMmE

$Z                  FilSTmpE  LiStEEnTrOpIe

$Z                  FilSTmpE  LiStEPoInTs



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