#######################################################################################################################################
# #
# V I S U A L I S A T I O N P O L A I R E D E S N O M B R E S P R E M I E R S : #
# #
# #
# Author of '$xiirv/.PRIM.I1.1.$U' : #
# #
# Jean-Francois COLONNA (LACTAMME, 20220103140027). #
# #
#######################################################################################################################################
$Z setParam _____NPremiers 16
$Z setParam _____NDiviseurs 16
$Z # On notera qu'il est preferable que '$_____NDiviseurs' soit un carre afin de pouvoir #
$Z # calculer la valeur de '$NoMbRe_HV' plus loin... #
$Z SETParam _____RandomWalk $NEXIST
$Z # Parametre introduit le 20220107114159... #
$Z SETParam _____CumulPhi $NEXIST
$Z # Parametre introduit le 20220107114159... #
$Z SETParam _____FRayon 1
$Z setParam _____RayonA 0.004
$Z setParam _____Rho 0.50
$Z # Parametre introduit le 20220107114159... #
$Z setParam _____Z0 0
$Z # Parametre introduit le 20220107114159... #
$Z setParam _____ZN 0
$Z setParam _____ParticulePara2 "$K_VIDE"
$Z # Parametre introduit le 20220107114159... #
$Z setParam _____NiveauA $GRIS_2
$Z _____include(_____xiirk/.SYRA.C1.1._____U)
$Z if ($_____RandomWalk == $EXIST) then
$Z # Test introduit le 20220107114159... #
$Z if ($_____CumulPhi == $NEXIST) then
$Z set CuMuLoUPas=$xrv/neutre$X
$Z else
$Z set CuMuLoUPas=$xrv/accumule.01$X
$Z # Cas ou l'on va cumuler les 'Phi's successifs... #
$Z endif
$Z else
$Z endif
$Z FilSTmpB FNoMbReS_PrEmIeRs
$Z set NoMbRe_HV=`calculINS sqrt($_____NDiviseurs)`
$Z set index0=1
$Z $xci/valeurs_Goldbach$X \
$Z p=$index0 d=$_____NPremiers \
$Z editer_nombres_premiers=VRAI \
$Z calculer_decompositions=FAUX \
$Z >> $FNoMbReS_PrEmIeRs
$Z # Liste des nombres premiers utiles... #
$Z set LiStE_PrEmIeRs=`$CA $FNoMbReS_PrEmIeRs | $HEA -$_____NDiviseurs`
$Z set DeRnIeR_PrEmIeR=`$CA $FNoMbReS_PrEmIeRs | $TAI -1`
$Z set PaRaMeTrEs="$K_VIDE"
$Z set PaRaMeTrEs="$PaRaMeTrEs"" premiere=$index0"
$Z set PaRaMeTrEs="$PaRaMeTrEs"" derniere=$_____NDiviseurs"
$Z set LNuMeRo=`$xci/nombres$X $PaRaMeTrEs`
$Z set _____images=$xTV/PRIM.I1
$Z set LeGeNdE="$K_VIDE"
$Z set index=$index0
$Z while ($index <= $_____NDiviseurs)
$Z set NuMeRo=$LNuMeRo[$index]
$Z set PrEmIeR_CoUrAnT=$LiStE_PrEmIeRs[$index]
$Z @ PrEmIeR_CoUrAnT_m1 = $PrEmIeR_CoUrAnT - 1
$Z # N'oublions pas que le reste maximal ($PrEmIeR_CoUrAnT_m1) est egal au diviseur #
$Z # ($PrEmIeR_CoUrAnT) moins 1. #
$Z FilSTmpB FCoOrD
$Z # Le 'FilSTmpE' est dans 'v $xiirk/.SYRA.C1.3.$U FilSTmpE..FCoOrD'... #
$Z if ($_____RandomWalk == $NEXIST) then
$Z # Test introduit le 20220107114159... #
$Z $xrv/RESZ.11$X \
$Z ne=$_____NPremiers \
$Z fichier1=$FNoMbReS_PrEmIeRs \
$Z fichier2=$PrEmIeR_CoUrAnT | \
$Z $xrv/SCAL.11$X \
$Z ne=0 \
$Z fichierX== \
$Z fichierA=$PrEmIeR_CoUrAnT_m1 \
$Z fichierN=$dpi \
$Z > $FCoOrD.PHI
$Z $xci/valeurs_inte$X p=$index0 d=$_____NPremiers \
$Z vD=$pis2 vA=$pis2 \
$Z lineaire=VRAI \
$Z > $FCoOrD.THETA
$Z $xci/valeurs_inte$X p=$index0 d=$_____NPremiers \
$Z vD=0 vA=$_____FRayon \
$Z lineaire=VRAI \
$Z > $FCoOrD.RHO
$Z $xci/valeurs_inte$X p=$index0 d=$_____NPremiers \
$Z vD=$BLANC vA=$NOIR_PLANCHER \
$Z lineaire=VRAI \
$Z entier=VRAI \
$Z > $FCoOrD$NIVEAU
$Z set Nparts=$_____NPremiers
$Z set _____ImageR=$_____images.$NuMeRo
#20220107114159____:$Z _____include(_____xiirk/.SYRA.C1.1._____U) #
$Z _____include(_____xiirk/.SYRA.C1.3._____U)
$Z else
$Z set _XYZ=0
$Z echo $_XYZ \
$Z > $FCoOrD$COORD_X
$Z echo $_XYZ \
$Z > $FCoOrD$COORD_Y
$Z FilSTmpB FiLePhI
$Z $xrv/RESZ.11$X \
$Z ne=$_____NPremiers \
$Z fichier1=$FNoMbReS_PrEmIeRs \
$Z fichier2=$PrEmIeR_CoUrAnT | \
$Z $xrv/SCAL.11$X \
$Z ne=0 \
$Z fichierX== \
$Z fichierA=$PrEmIeR_CoUrAnT_m1 \
$Z fichierN=$dpi \
$Z >> $FiLePhI
$Z $xrv/RPT_XYZ.01$X ne=$_____NPremiers \
$Z LISTE_RHO=$_____Rho \
$Z LISTE_THETA=$pis2 \
$Z LISTE_PHI=$FiLePhI \
$Z px=1 py=0 pz=0 | \
$Z $xrv/accumule.01$X ne=0 \
$Z fichier== \
$Z >> $FCoOrD$COORD_X
$Z $xrv/RPT_XYZ.01$X ne=$_____NPremiers \
$Z LISTE_RHO=$_____Rho \
$Z LISTE_THETA=$pis2 \
$Z LISTE_PHI=$FiLePhI \
$Z px=0 py=1 pz=0 | \
$Z $xrv/accumule.01$X ne=0 \
$Z fichier== \
$Z >> $FCoOrD$COORD_Y
$Z FilSTmpE FiLePhI
$Z @ NPoInTs = $_____NPremiers + 1
$Z $xci/valeurs_inte$X premiere=1 derniere=$NPoInTs \
$Z vD=$_____Z0 vA=$_____ZN \
$Z lineaire=VRAI \
$Z > $FCoOrD$COORD_Z
$Z $xci/valeurs_inte$X premiere=1 derniere=$NPoInTs \
$Z vD=$NOIR_PLANCHER vA=$BLANC \
$Z lineaire=VRAI \
$Z entiers=VRAI \
$Z > $FCoOrD$NIVEAU
$Z set ArGuMeNtS="$K_VIDE"
$Z set ArGuMeNtS="$ArGuMeNtS"" AXYZ=1 BXYZ=0"
$Z set ArGuMeNtS="$ArGuMeNtS"" Lz=1000"
$Z set ArGuMeNtS="$ArGuMeNtS"" ZOOM=$_____Zoom"
$Z set ArGuMeNtS="$ArGuMeNtS"" ROTATION_OX=0"
$Z set ArGuMeNtS="$ArGuMeNtS"" ROTATION_OY=0"
$Z set ArGuMeNtS="$ArGuMeNtS"" ROTATION_OZ=0"
$Z set ArGuMeNtS="$ArGuMeNtS"" N_au_carre=FAUX"
$Z set ArGuMeNtS="$ArGuMeNtS"" editer_extrema_hors=FAUX"
$Z set ArGuMeNtS="$ArGuMeNtS"" emeni=FAUX"
$Z set ArGuMeNtS="$ArGuMeNtS"" $_____ParticulePara2"
$Z set ArGuMeNtS="$ArGuMeNtS"" chiffres=0"
$Z $xrv/particule.10$X npoints=$NPoInTs \
$Z LISTE_X=$FCoOrD$COORD_X \
$Z LISTE_Y=$FCoOrD$COORD_Y \
$Z LISTE_Z=$FCoOrD$COORD_Z \
$Z isoles=FAUX chainer=VRAI \
$Z ajuster_points=VRAI equidistance=VRAI \
$Z distance_minimale=$_____DistanceMinimale \
$Z Vrayon=$_____Rayon \
$Z LISTE_NIVEAU=$FCoOrD$NIVEAU \
$Z p=$_____Palette \
$Z $ArGuMeNtS \
$Z R=$_____images.$NuMeRo \
$Z $formatI
$Z endif
$Z set LeGeNdE="$LeGeNdE""$PrEmIeR_CoUrAnT/$DeRnIeR_PrEmIeR"
$Z @ ReStE = $index % $NoMbRe_HV
$Z if ($ReStE == 0) then
$Z set LeGeNdE="$LeGeNdE""\n"
$Z else
$Z set LeGeNdE="$LeGeNdE"" "
$Z endif
$Z @ index = $index + 1
$Z end
$Z FilSTmpE FNoMbReS_PrEmIeRs
$Z execRVB $xci/accumule.01$X \
$Z A=$_____images. \
$Z postfixe=%s \
$Z premiere=$index0 \
$Z derniere=$_____NDiviseurs \
$Z interpolation_lineaire=VRAI \
$Z normaliser=VRAI \
$Z maximum=VRAI \
$Z R=$_____animation%s \
$Z $formatI
$Z if ($_____RandomWalk == $NEXIST) then
$Z # Test introduit le 20220107132548... #
$Z set index=$index0
$Z while ($index <= $_____NDiviseurs)
$Z set NuMeRo=$LNuMeRo[$index]
$Z set PrEmIeR_CoUrAnT=$LiStE_PrEmIeRs[$index]
$Z FilSTmpB FCoOrDoNnEeSA
$Z set LPhiA=`$xci/valeurs_inte$X p=$index0 d=$PrEmIeR_CoUrAnT lineaire=VRAI vD=0 vA=$dpi`
$Z set indexa=1
$Z while ($indexa <= $PrEmIeR_CoUrAnT)
$Z echo "0\n1" | \
$Z $xrv/duplique.01$X \
$Z ne=0 \
$Z fichier== \
$Z exemplaires=1 \
$Z >>! $FCoOrDoNnEeSA.RHO
$Z echo $pis2 | \
$Z $xrv/duplique.01$X \
$Z ne=0 \
$Z fichier== \
$Z exemplaires=2 \
$Z >>! $FCoOrDoNnEeSA.THETA
$Z echo $LPhiA[$indexa] | \
$Z $xrv/duplique.01$X \
$Z ne=0 \
$Z fichier== \
$Z exemplaires=2 \
$Z >>! $FCoOrDoNnEeSA.PHI
$Z echo $_____RayonA | \
$Z $xrv/duplique.01$X \
$Z ne=0 \
$Z fichier== \
$Z exemplaires=2 \
$Z >>! $FCoOrDoNnEeSA$RAYON
$Z @ indexa = $indexa + 1
$Z end
$Z set NPoInTsN=`$CA $FCoOrDoNnEeSA.RHO | $WCl`
$Z set PaRaMs="$K_VIDE"
$Z set PaRaMs="$PaRaMs"" np=1"
$Z set PaRaMs="$PaRaMs"" spheriques=VRAI"
$Z set PaRaMs="$PaRaMs"" AXYZ=1 BXYZ=0"
$Z set PaRaMs="$PaRaMs"" p=$_____Palette"
$Z set PaRaMs="$PaRaMs"" editer_extrema_hors=FAUX"
$Z set PaRaMs="$PaRaMs"" Lz=1000 ZOOM=0.98"
$Z # On utilise "ZOOM=0.98" et non pas "ZOOM=1" afin que deux axes horizontaux ou verticaux #
$Z # voisins ne semblent pas "monolithiques"... #
$Z set PaRaMs="$PaRaMs"" ROTATION_OX=0"
$Z set PaRaMs="$PaRaMs"" ROTATION_OY=0"
$Z set PaRaMs="$PaRaMs"" ROTATION_OZ=0"
$Z set PaRaMs="$PaRaMs"" isoles=FAUX chainer=FAUX"
$Z set PaRaMs="$PaRaMs"" ajuster_points=VRAI"
$Z set PaRaMs="$PaRaMs"" equidistance=VRAI"
$Z set PaRaMs="$PaRaMs"" dm=$_____DistanceMinimale"
$Z set PaRaMs="$PaRaMs"" couronne=2"
$Z set PaRaMs="$PaRaMs"" RVB=VRAI"
$Z set PaRaMs="$PaRaMs"" chiffres=0"
$Z $xrv/particule.10$X \
$Z npoints=$NPoInTsN \
$Z $PaRaMs \
$Z LISTE_RHO=$FCoOrDoNnEeSA.RHO \
$Z LISTE_THETA=$FCoOrDoNnEeSA.THETA \
$Z LISTE_PHI=$FCoOrDoNnEeSA.PHI \
$Z LISTE_Z=$_____ZN \
$Z p== \
$Z LISTE_ROUGE=$_____NiveauA \
$Z LISTE_VERTE=$_____NiveauA \
$Z LISTE_BLEUE=$_____NiveauA \
$Z LISTE_RAYON=$FCoOrDoNnEeSA$RAYON \
$Z grossissement=1 \
$Z R=$xTV/AXES \
$Z $formatI
$Z # Le "p==" est destine a faire prendre en compte {LISTE_ROUGE=,LISTE_VERTE=,LISTE_BLEUE=}... #
$Z FilSTmpE FCoOrDoNnEeSA
$Z execRVB $xci/cache$X \
$Z A=$xTV/AXES%s \
$Z M=$_____images.$NuMeRo%s \
$Z R=$_____images.$NuMeRo%s \
$Z $formatI
$Z @ index = $index + 1
$Z end
$Z else
$Z endif
$Z set NChIfFrEs=`GetParam $xci/nombres$X chiffres`
$Z execRVB $xci/regroupe.02$Z \
$Z $_____images. \
$Z $_____animation.$NoMbRe_HV"x"$NoMbRe_HV%s \
$Z $index0 1 \
$Z $NoMbRe_HV $NoMbRe_HV \
$Z "%s" \
$Z '$K_QD$formatR_Sdu$K_QD' \
$Z $NChIfFrEs \
$Z FAUX \
$Z FAUX \
$Z VRAI
$Z saut
$Z echo "$LeGeNdE" | \
$Z $AC
$Z saut
$Z # Edition des differents parametres (introduite le 20220106100859)... #