#######################################################################################################################################
# #
# 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