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



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.