#######################################################################################################################################
#                                                                                                                                     #
#         V I S U A L I S A T I O N   D E S   N O M B R E S   " F R I A B L E S "  :                                                  #
#                                                                                                                                     #
#                                                                                                                                     #
#         Author of '$xiirv/.NFRI.31.1.$U' :                                                                                          #
#                                                                                                                                     #
#                     Jean-Francois COLONNA (LACTAMME, 20220915140217).                                                               #
#                                                                                                                                     #
#######################################################################################################################################

$Z                  setParam            _____RVB                      $NEXIST
$Z                                      # Parametre introduit le 20220920104236...                                                    #

$Z                  setParam            _____Nombre                   100000

$Z                  setParam            _____Operateur                "+"

$Z                  setParam            _____Fonction                 $xrv/neutre$X

#20220921123328____:$Z                  setParam            _____Palette                  $xiP/verte_rouge.01                         #
$Z                  setParam            _____Palette                  $xiP/verte_rouge.02
$Z                                      # Parametre introduit le 20220920104236...                                                    #

$Z                  @                   NoMbReS1 = 2
$Z                  @                   NoMbReSN = $_____Nombre

$Z                  saut
$Z                  echo                "PremierNombreEntier=$NoMbReS1"
$Z                  echo                "DernierNombreEntier=$NoMbReSN"
$Z                                      # Editions introduites le 20220925122025...                                                   #
$Z                  saut

$Z                  set                 HoMoThEtIe=`$xcg/INVZ.01$X x=$NoMbReSN`

$Z                  FilSTmpB            FaCtOrs

$Z                  $xci/valeurs_prem$X                                                                                                 \
$Z                                      premiere=$NoMbReS1 derniere=$NoMbReSN                                                           \
$Z                                      editer_diviseurs=VRAI                                                                           \
$Z                                      editer_nombres=VRAI                                                                             \
$Z                                      diviseurs_premiers=VRAI                                                                         \
$Z                                      multiplicite_diviseurs_premiers=FAUX                                                            \
$Z                                      editer_fonction=FAUX                                                                            \
$Z                                      editer_somme_diviseurs=FAUX                                                                     \
$Z                                                                                        >> $FaCtOrs

$Z                  $CA                 $FaCtOrs                                                                                  |     \
$Z                  $SE                 -e 's/:.*$//'                                                                                   \
$Z                                                                                        >  $FaCtOrs.NombresEntiers

$Z                  $CA                 $xcs/csh$Y                                                                                      \
$Z                                                                                        >  $FaCtOrs$Y

$Z                  $CA                 $FaCtOrs                                                                                  |     \
$Z                  $SE                 -e "s/^[^:][^:]*://"                                                                            \
$Z                                      -e "s/=//g"                                                                                     \
$Z                                      -e "s/ //g"                                                                                     \
$Z                                      -e "s/^+//g"                                                                                    \
$Z                                      -e "s/+/ $_____Operateur /g"                                                                    \
$Z                                      -e "s/^/@ SoMmE = /"                                                                            \
$Z                                      -e 's/$/ ; echo $SoMmE/'                                                                        \
$Z                                                                                        >> $FaCtOrs$Y

$Z                  (source              $FaCtOrs$Y)                                                                              |     \
$Z                  $_____Fonction      ne=0                                                                                            \
$Z                                      fichier==                                                                                       \
$Z                                                                                        >  $FaCtOrs.SommesDiviseurs
$Z                                      # Calcul de la somme des diviseurs premiers de chaque nombre entier en ignorant leur          #
$Z                                      # multiplicite (par exemple elle vaudra 2 pour le nombre 8...).                               #

$Z                  FilSTmpB            LiStE_PoInTs

$Z                  set  MiNiMuM_X=`$xci/coordonnees$X normaliser=VRAI abscisse=VRAI x=$Xmin ordonnee=FAUX signe="$K_VIDE"`
$Z                  set  MaXiMuM_X=`$xci/coordonnees$X normaliser=VRAI abscisse=VRAI x=$Xmax ordonnee=FAUX signe="$K_VIDE"`

$Z                  IfBasic             ("$_____Fonction" != "$xrv/neutre$X") ThenBasic
$Z                                      @                   YMiN = $Ymin + 1
$Z                                      @                   YMaX = $Ymax - 1
$Z                  ElseBasic
$Z                                      @                   YMiN = $Ymin
$Z                                      @                   YMaX = $Ymax
$Z                  EndifBasic

$Z                  set  MiNiMuM_Y=`$xci/coordonnees$X normaliser=VRAI abscisse=FAUX         ordonnee=VRAI y=$YMiN signe="$K_VIDE"`
$Z                  set  MaXiMuM_Y=`$xci/coordonnees$X normaliser=VRAI abscisse=FAUX         ordonnee=VRAI y=$YMaX signe="$K_VIDE"`

$Z                  $xrv/normalise.01$X ne=0                                                                                            \
$Z                                      fichier=$FaCtOrs.NombresEntiers                                                                 \
$Z                                      origine=$MiNiMuM_X extremite=$MaXiMuM_X                                                         \
$Z                                                                                        >  $LiStE_PoInTs$COORD_X

$Z                  $xrv/normalise.01$X ne=0                                                                                            \
$Z                                      fichier=$FaCtOrs.SommesDiviseurs                                                                \
$Z                                      origine=$MiNiMuM_Y extremite=$MaXiMuM_Y                                                         \
$Z                                                                                        >  $LiStE_PoInTs$COORD_Y

$Z                  $xrv/normalise.01$X ne=0                                                                                            \
$Z                                      fichier=$FaCtOrs.SommesDiviseurs                                                                \
$Z                                      origine=$NOIR_PLANCHER extremite=$BLANC                                                         \
$Z                                                                                        >  $LiStE_PoInTs$NIVEAU
$Z                                      # Plus la somme des diviseurs d'un nombre entier est petite, plus sa luminance sera grande... #

$Z                  set                 NPointsX=`$CA $LiStE_PoInTs$COORD_X | $WCl`
$Z                  set                 NPointsY=`$CA $LiStE_PoInTs$COORD_Y | $WCl`
$Z                  set                 NPoints_=`$xcg/MAX2.01$X x=$NPointsX y=$NPointsY`

#20220920104236_____:$Z                  $xrv/store_image$X                                                                        \  #
#20220920104236_____:$Z                                      ne=$NPoints_                                                          \  #
#20220920104236_____:$Z                                      Xnormalisees=VRAI                                                     \  #
#20220920104236_____:$Z                                      LISTE_X=$LiStE_PoInTs$COORD_X                                         \  #
#20220920104236_____:$Z                                      Ynormalisees=VRAI                                                     \  #
#20220920104236_____:$Z                                      LISTE_Y=$LiStE_PoInTs$COORD_Y                                         \  #
#20220920104236_____:$Z                                      LISTE_Z=0                                                             \  #
#20220920104236_____:$Z                                      Ndenormalises=VRAI                                                    \  #
#20220920104236_____:$Z                                      LISTE_NIVEAU=$LiStE_PoInTs$NIVEAU                                     \  #
#20220920104236_____:$Z                                      histogramme=VRAI                                                      \  #
#20220920104236_____:$Z                                      standard=VRAI                                                         \  #
#20220920104236_____:$Z                                      R=$_____ImageR                                                        \  #
#20220920104236_____:$Z                                                                                                  $formatI     #

$Z                  $xrv/store_image$X                                                                                                  \
$Z                                      ne=$NPoints_                                                                                    \
$Z                                      Xnormalisees=VRAI                                                                               \
$Z                                      LISTE_X=$LiStE_PoInTs$COORD_X                                                                   \
$Z                                      Ynormalisees=VRAI                                                                               \
$Z                                      LISTE_Y=$LiStE_PoInTs$COORD_Y                                                                   \
$Z                                      LISTE_Z=0                                                                                       \
$Z                                      Ndenormalises=VRAI                                                                              \
$Z                                      LISTE_NIVEAU=$LiStE_PoInTs$NIVEAU                                                               \
$Z                                      histogramme=VRAI                                                                                \
$Z                                      standard=VRAI                                                                                   \
$Z                                      R=$xTV/HISTOGRAMME                                                                              \
$Z                                                                                                  $formatI

$Z                  FilSTmpE            LiStE_PoInTs

$Z                  FilSTmpE            FaCtOrs

$Z                  IfBasic             ($_____RVB == $NEXIST) ThenBasic
$Z                                      # Test introduit le 20220920104236...                                                         #
$Z                                      $xci/neutre$X                                                                                   \
$Z                                                          A=$xTV/HISTOGRAMME                                                          \
$Z                                                          R=$_____ImageR                                                              \
$Z                                                                                                                      $formatI
$Z                  ElseBasic
$Z                                      set                 SaVe_DimX=$dimX

$Z                                      ext                 Shu 0

$Z                                      @                   MaIlLe_X = $dimX / $SaVe_DimX

$Z                                      $xci/vraies_C$X                                                                                 \
$Z                                                          A=$xTV/HISTOGRAMME                                                          \
$Z                                                          p=$_____Palette                                                             \
$Z                                                          R=$xTV/HISTOGRAMME                                                          \
$Z                                                                                                                      $formatI

$Z                                      $xci/grille.01$X                                                                                \
$Z                                                          A=$NOIR                                                                     \
$Z                                                          barres_horizontales=FAUX barres_verticales=VRAI                             \
$Z                                                          mx=$MaIlLe_X                                                                \
$Z                                                                                                                      $formatI  |     \
$Z                                      $xci/complement$X                                                                               \
$Z                                                          R=$xTV/BARRES                                                               \
$Z                                                                                                                      $formatI

$Z                            execRVB   $xci/and$X                                                                                      \
$Z                                                          A1=$xTV/HISTOGRAMME%s                                                       \
$Z                                                          A2=$xTV/BARRES                                                              \
$Z                                                          R=$_____ImageR%s                                                            \
$Z                                                                                                                      $formatI
$Z                  EndifBasic



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