#######################################################################################################################################
#                                                                                                                                     #
#         V I S U A L I S A T I O N   D E S   P R E M I E R E S   D E C I M A L E S   D E   P I                                       #
#         E T   D E   S A   P A R T I E   E N T I E R E                                                                               #
#         S U R   U N E   S P I A L E   D ' A R C H I M E D E                                                                         #
#         " A   L A   F A C O N "   D U   D I S Q U E   D E   P O I N C A R E  :                                                      #
#                                                                                                                                     #
#                                                                                                                                     #
#         Author of '$xiirv/.PIPO.U1.21.$U' :                                                                                         #
#                                                                                                                                     #
#                     Jean-Francois COLONNA (LACTAMME, 20240321105300).                                                               #
#                                                                                                                                     #
#######################################################################################################################################

$Z                  setParam            _____NombreChiffres           10001
$Z                                      # Nombre de chiffres (incluant la partie entiere).                                            #

$Z                  SETParam            _____Avion                    VRAI

$Z                  setParam            _____FlouPeripherique         $NEXIST
$Z                  setParam            _____FlouPeripheriqueG        `GetParam $xci/gauss$X c`
$Z                  setParam            _____FlouPeripheriqueP1       `calculINS pow(20,2)`
$Z                  setParam            _____FlouPeripheriqueP2       20
$Z                  setParam            _____FlouPeripheriqueSI       203
$Z                  setParam            _____FlouPeripheriqueSS       215

$Z                  setParam            _____NSpirale                 $GRIS_1
$Z                  setParam            _____NFond_T                  $GRIS_4
$Z                  setParam            _____NFond_Z                  $GRIS_0

$Z                  setParam            _____Z_____0                  0
$Z                  setParam            _____Z_____L                  0.5

$Z                  IfBasic             ($_____Avion == VRAI) ThenBasic
$Z                                      setParam            _____ZoomL                    "$K_VIDE"
$Z                  ElseBasic
$Z                                      setParam            _____ZoomL                    "ZOOM=1"
$Z                  EndifBasic

$Z                  setParam            _____Rho___0                  1000
$Z                  setParam            _____Rho___N                  10000
$Z                  setParam            _____Rho___F                  1
$Z                  setParam            _____Rho___E                  0.5

$Z                  setParam            _____Theta_0                  0
$Z                  setParam            _____Theta_N                  5
$Z                  setParam            _____Theta_F                  40
$Z                  setParam            _____Theta_E                  0.5
$Z                  setParam            _____Theta_Phase              +$pis2

$Z                  setParam            _____PaletteT                 $xiP/cercle.T4
$Z                                      # Voir la mire 'v $xiio/MIRE_10.11' pour aider a trouver une bonne '$_____PaletteT'...        #
$Z                  setParam            _____PaletteZ                 $_____PaletteT

$Z                  setParam            _____VRayon                   0.008
$Z                  setParam            _____MRayon                   $NEXIST
$Z                  setParam            _____HRayon                   1
$Z                  setParam            _____TRayon                   5
$Z                  setParam            _____ERayon                   0.5

$Z                  setParam            _____Zoom                     0.6

$Z                  setParam            _____ParticulePara            "$K_VIDE"

$Z                  SETParam            _____Chiffres                 $NEXIST

$Z                  IfBasic             ($_____Avion == VRAI) ThenBasic
$Z                                      setParam            _____KChiffres                0.0015
$Z                                      setParam            _____RChiffres                0.0030
$Z                  ElseBasic
$Z                                      setParam            _____KChiffres                0.0025
$Z                                      setParam            _____RChiffres                0.0020
$Z                  EndifBasic

$Z                  setParam            _____NChiffres                500
$Z                  SETParam            _____NiveauC                  $GRIS_0

$Z                  setParam            _____Legende1_mX              +1.01
$Z                  setParam            _____Legende1_MX              +1.47

$Z                  setParam            _____Legende1_mY              -0.32
$Z                  setParam            _____Legende1_MY              -0.32
$Z                                      # Definition de la position de la base des pics {0,1,2,3,4,5,6,7,8,9}...                      #

$Z                  setParam            _____Legende2_mX              +0.7602
$Z                  setParam            _____Legende2_MX              +1.0013

$Z                  setParam            _____Legende2_mY              +0.0140
$Z                  setParam            _____Legende2_MY              +0.0140
$Z                                      # Definition de la legende des pics {0,1,2,3,4,5,6,7,8,9}...                                  #

$Z                  setParam            _____Surface                  $NEXIST
$Z                  setParam            _____ArgSurface               "$K_VIDE"
$Z                  setParam            _____PassesLissage            100
$Z                  setParam            _____ExposantLissage          1
$Z                  setParam            _____PSurface1                1
$Z                  setParam            _____PSurface2                5
$Z                  setParam            _____ArgMontagne              "$K_VIDE"

$Z                  FilSTmpB            FChIfFrEs

$Z                  set                 Base_10=10

$Z                  echo                "0\n1\n2\n3\n4\n5\n6\n7\n8\n9"                                                                  \
$Z                                                                    >>  $FChIfFrEs

$Z                  FilSTmpB            FDeCiMaLeS

$Z                  IfBasic             ($?NuMeRo_ToUr == $NEXIST) ThenBasic
$Z                                      set                 NuMeRo_ToUr=0
$Z                  ElseBasic
$Z                  EndifBasic

$Z                  IfBasic             ($NuMeRo_ToUr == 0) ThenBasic
$Z                                      IfBasic             ($#_____NFond_T == 1) ThenBasic
$Z                                      # Test introduit le 20240506152024...                                                         #
$Z                                                execRVB   $xci/init$X                                                                 \
$Z                                                                              niveau=$_____NFond_T                                    \
$Z                                                                              R=$xTV/FOND.T%s                                         \
$Z                                                                                                  $formatI
$Z                                      ElseBasic
$Z                                                          $xci/init$X                                                                 \
$Z                                                                              niveau=$_____NFond_T[1]                                 \
$Z                                                                              R=$xTV/FOND.T$ROUGE                                     \
$Z                                                                                                  $formatI
$Z                                                          $xci/init$X                                                                 \
$Z                                                                              niveau=$_____NFond_T[2]                                 \
$Z                                                                              R=$xTV/FOND.T$VERTE                                     \
$Z                                                                                                  $formatI
$Z                                                          $xci/init$X                                                                 \
$Z                                                                              niveau=$_____NFond_T[3]                                 \
$Z                                                                              R=$xTV/FOND.T$BLEUE                                     \
$Z                                                                                                  $formatI
$Z                                      EndifBasic

$Z                            execRVB   $xci/init$X                                                                                     \
$Z                                                          niveau=$_____NFond_Z                                                        \
$Z                                                          R=$xTV/FOND.Z%s                                                             \
$Z                                                                              $formatI
$Z                  ElseBasic
$Z                  EndifBasic

$Z                  IfBasic             ($?_____FDecimales == $EXIST) ThenBasic
$Z                                      $CA                 $_____FDecimales                                                      |     \
$Z                                      $SE                 -e "s/^  *//"                                                               \
$Z                                                          -e "s/,//"                                                            |     \
$Z                                      $GRE                -v '^ *$'                                                             |     \
$Z                                      $GRE                -v 'alcul '                                                           |     \
$Z                                      $SE                 -e "s/ //g"                                                                 \
$Z                                                          -e "s/\(.\)/\1@/g"                                                    |     \
$Z                                      $R                  "@" "$K_NL"                                                           |     \
$Z                                      $GRE                -v '^ *$'                                                             |     \
$Z                                      $xrv/neutre$X       ne=$_____NombreChiffres                                                     \
$Z                                                          fichier==                                                                   \
$Z                                                          formater=VRAI signe="$K_VIDE"                                               \
$Z                                                                                        >>  $FDeCiMaLeS

$Z                                      $xrv/normalise.01$X ne=$_____NombreChiffres                                                     \
$Z                                                          fichier=$FDeCiMaLeS                                                         \
$Z                                                          minimum=$NOIR_PLANCHER maximum=$BLANC                                       \
$Z                                                          formater=VRAI entiers=VRAI                                                  \
$Z                                                                                        >   $FDeCiMaLeS$NIVEAU
$Z                  ElseBasic
$Z                                      $xci/valeurs_inte$X premiere=1 derniere=$_____NombreChiffres                                    \
$Z                                                          lineaire=VRAI                                                               \
$Z                                                          vD=$_____NSpirale vA=$_____NSpirale                                         \
$Z                                                          entiers=VRAI                                                                \
$Z                                                                                        >   $FDeCiMaLeS$NIVEAU
$Z                  EndifBasic

$Z                  IfBasic             ($?_____NombreChiffresReference == $EXIST) ThenBasic
$Z                                      # Cettte correction a ete introduite le 20240405100803...                                     #
$Z                                      FilSTmpB            _____FCorrections

$Z                                      set       FaCtEuR=`calcul $_____NombreChiffres/$_____NombreChiffresReference`
$Z                                      $xci/valeurs_inte$X                                                                             \
$Z                                                premiere=1 derniere=$_____NombreChiffres                                              \
$Z                                                vD=0 vA=$FaCtEuR                                                                      \
$Z                                                lineaire=VRAI                                                                   |     \
$Z                                      $xrv/GAUS.01$X                                                                                  \
$Z                                                ne=0                                                                                  \
$Z                                                fichier==                                                                             \
$Z                                                moyenne=0                                                                             \
$Z                                                ecart_type=0.02                                                                 |     \
$Z                                      $xrv/ADD2.11$X                                                                                  \
$Z                                                ne=0                                                                                  \
$Z                                                fichier1==                                                                            \
$Z                                                fichier2=1                                                                            \
$Z                                                                                        >> $_____FCorrections
$Z                                      # Ce facteur correctif est destine a maintenir le meme espacement entre les premiers pics     #
$Z                                      # {3,1,4,1,5,9,2,6,5} afin de ne pas avoir a redefinir la liste '$LEtIqUe' des legendes...    #
$Z                  ElseBasic
$Z                  EndifBasic

$Z                  set       DeLiNeArIsE_R="$xrv/PUIX.01$X exposant=$_____Rho___E"
$Z                  set       DeLiNeArIsE_T="$xrv/PUIX.01$X exposant=$_____Theta_E"

$Z                  IfBasic             ($?_____NombreChiffresReference == $NEXIST) ThenBasic
$Z                                      $xci/valeurs_inte$X premiere=1 derniere=$_____NombreChiffres                                    \
$Z                                                          lineaire=VRAI                                                               \
$Z                                                          vD=$_____Theta_0 vA=$_____Theta_N                                           \
$Z                                                                                        >   $FDeCiMaLeS.Theta.parametre
$Z                  ElseBasic
$Z                                      $xci/valeurs_inte$X premiere=1 derniere=$_____NombreChiffres                                    \
$Z                                                          lineaire=VRAI                                                               \
$Z                                                          vD=$_____Theta_0 vA=$_____Theta_N                                     |     \
$Z                                      $xrv/MUL2.11$X      ne=0                                                                        \
$Z                                                          fichier2==                                                                  \
$Z                                                          fichier1=$_____FCorrections                                                 \
$Z                                                                                        >   $FDeCiMaLeS.Theta.parametre
$Z                  EndifBasic

$Z                  $DeLiNeArIsE_T      ne=0                                                                                            \
$Z                                      fichier=$FDeCiMaLeS.Theta.parametre                                                       |     \
$Z                  $xrv/MUL2.11$X      ne=0                                                                                            \
$Z                                      fichier2==                                                                                      \
$Z                                      fichier1=$_____Theta_F                                                                          \
$Z                                                                    >   $FDeCiMaLeS.Theta.0

$Z                  $xrv/ADD2.11$X      ne=0                                                                                            \
$Z                                      fichier1=$FDeCiMaLeS.Theta.0                                                                    \
$Z                                      fichier2=$_____Theta_Phase                                                                      \
$Z                                                                    >   $FDeCiMaLeS.Theta

$Z                  $xci/valeurs_inte$X premiere=1 derniere=$_____NombreChiffres                                                        \
$Z                                      lineaire=VRAI                                                                                   \
$Z                                      vD=$_____Rho___0 vA=$_____Rho___N                                                         |     \
$Z                  $DeLiNeArIsE_R      ne=0                                                                                            \
$Z                                      fichier==                                                                                 |     \
$Z                  $xrv/INVZ.01$X      ne=0                                                                                            \
$Z                                      fichier==                                                                                 |     \
$Z                  $xrv/MUL2.11$X      ne=0                                                                                            \
$Z                                      fichier2==                                                                                      \
$Z                                      fichier1=$_____Rho___F                                                                          \
$Z                                                                    >   $FDeCiMaLeS.Rho.facteur
$Z                  $xrv/MUL2.11$X      ne=$_____NombreChiffres                                                                         \
$Z                                      fichier1=$FDeCiMaLeS.Rho.facteur                                                                \
$Z                                      fichier2=$FDeCiMaLeS.Theta.0                                                                    \
$Z                                                                    >   $FDeCiMaLeS.Rho

$Z                  set                 Xcentre=`$xcg/DIVZ.01$X a=1 b=2`
$Z                  set                 Ycentre=`$xcg/DIVZ.01$X a=1 b=2`

$Z                  $xrv/RT_XY.01$X                                                                                                     \
$Z                                      ne=$_____NombreChiffres                                                                         \
$Z                                      LISTE_RHO=$FDeCiMaLeS.Rho                                                                       \
$Z                                      LISTE_THETA=$FDeCiMaLeS.Theta                                                                   \
$Z                                      pX=1 pY=0                                                                                       \
$Z                                      aX=1 bX=$Xcentre                                                                                \
$Z                                                                    >   $FDeCiMaLeS$COORD_X
$Z                                      # Les coordonnees 'X' sont donc centrees dans [0,1].                                          #
$Z                  $xrv/RT_XY.01$X                                                                                                     \
$Z                                      ne=$_____NombreChiffres                                                                         \
$Z                                      LISTE_RHO=$FDeCiMaLeS.Rho                                                                       \
$Z                                      LISTE_THETA=$FDeCiMaLeS.Theta                                                                   \
$Z                                      pX=0 pY=1                                                                                       \
$Z                                      aY=1 bY=$Ycentre                                                                                \
$Z                                                                    >   $FDeCiMaLeS$COORD_Y
$Z                                      # Les coordonnees 'Y' sont donc centrees dans [0,1].                                          #

$Z                                      # On notera que la mise des coordonnees 'X' et 'Y' dans [-1,+1]x[-1,+1] a pose des            #
$Z                                      # problemes d'etiquettage avec les decimales qui progressivement se decalaient...             #

$Z                  $xci/valeurs_inte$X premiere=1 derniere=$_____NombreChiffres                                                        \
$Z                                      lineaire=VRAI                                                                                   \
$Z                                      vD=$_____Z_____0 vA=$_____Z_____0                                                               \
$Z                                                                    >   $FDeCiMaLeS$COORD_Z

$Z                  if                  (($_____Chiffres == $EXIST) && ($_____Avion == FAUX)) then
$Z                                      FilSTmpB  FLeGeNdE

$Z                                      $CA       $FChIfFrEs                                                                            \
$Z                                                                                        >> $FLeGeNdE

$Z                                      $xci/valeurs_inte$X premiere=1 derniere=`calculINS $Base_10+1`                                  \
$Z                                                          lineaire=VRAI                                                               \
$Z                                                          vD=$_____Legende1_mX           vA=$_____Legende1_MX                   |     \
$Z                                      $HEA      -$Base_10                                                                             \
$Z                                                                                        >   $FLeGeNdE$COORD_X

$Z                                      $xci/valeurs_inte$X premiere=1 derniere=`calculINS $Base_10+1`                                  \
$Z                                                          lineaire=VRAI                                                               \
$Z                                                          vD=$_____Legende1_mY           vA=$_____Legende1_MY                   |     \
$Z                                      $HEA      -$Base_10                                                                             \
$Z                                                                                        >   $FLeGeNdE$COORD_Y

$Z                                      $xci/valeurs_inte$X premiere=1 derniere=`calculINS $Base_10+1`                                  \
$Z                                                          lineaire=VRAI                                                               \
$Z                                                          vD=$_____Z_____0              vA=$_____Z_____0                        |     \
$Z                                      $HEA      -$Base_10                                                                             \
$Z                                                                                        >   $FChIfFrEs$COORD_Z
$Z                                      # Ici on definit les pics {0,1,2,3,4,5,6,7,8,9}...                                            #

$Z                                      $xrv/normalise.01$X ne=$Base_10                                                                 \
$Z                                                          fichier=$FLeGeNdE                                                           \
$Z                                                          minimum=$NOIR_PLANCHER maximum=$BLANC                                       \
$Z                                                          formater=VRAI entiers=VRAI                                                  \
$Z                                                                                        >   $FChIfFrEs$NIVEAU

$Z                                      $CA                 $FLeGeNdE         $FDeCiMaLeS                                               \
$Z                                                                                        >   $FDeCiMaLeS.tmp

$Z                                      $CA                 $FLeGeNdE$COORD_X  $FDeCiMaLeS$COORD_X                                      \
$Z                                                                                        >   $FDeCiMaLeS.tmp$COORD_X
$Z                                      $CA                 $FLeGeNdE$COORD_Y  $FDeCiMaLeS$COORD_Y                                      \
$Z                                                                                        >   $FDeCiMaLeS.tmp$COORD_Y
$Z                                      $CA                 $FChIfFrEs$COORD_Z $FDeCiMaLeS$COORD_Z                                      \
$Z                                                                                        >   $FDeCiMaLeS.tmp$COORD_Z

$Z                                      $CA                 $FChIfFrEs$NIVEAU $FDeCiMaLeS$NIVEAU                                        \
$Z                                                                                        >   $FDeCiMaLeS.tmp$NIVEAU
$Z                                      # Les legendes definissant {0,1,2,3,4,5,6,7,8,9,} sont mis en tete afin de pouvoir etre       #
$Z                                      # etiquettees ci-apres via '$_____Chiffres'...                                                #

$Z                                      $DELETE             $FDeCiMaLeS

$Z                                      $DELETE             $FDeCiMaLeS$COORD_X
$Z                                      $DELETE             $FDeCiMaLeS$COORD_Y
$Z                                      $DELETE             $FDeCiMaLeS$COORD_Z

$Z                                      $DELETE             $FDeCiMaLeS$NIVEAU

$Z                                      $MV                 $FDeCiMaLeS.tmp         $FDeCiMaLeS

$Z                                      $MV                 $FDeCiMaLeS.tmp$COORD_X $FDeCiMaLeS$COORD_X
$Z                                      $MV                 $FDeCiMaLeS.tmp$COORD_Y $FDeCiMaLeS$COORD_Y
$Z                                      $MV                 $FDeCiMaLeS.tmp$COORD_Z $FDeCiMaLeS$COORD_Z

$Z                                      $MV                 $FDeCiMaLeS.tmp$NIVEAU  $FDeCiMaLeS$NIVEAU
$Z                                      FilSTmpE  FLeGeNdE

$Z                                      @                   NombreChiffresEffectif = $_____NombreChiffres + $Base_10
$Z                  else
$Z                                      set                 NombreChiffresEffectif=$_____NombreChiffres
$Z                  endif

$Z                  IfBasic             ($_____MRayon == $NEXIST) ThenBasic
$Z                                      $xci/valeurs_inte$X premiere=1 derniere=$NombreChiffresEffectif                                 \
$Z                                                          lineaire=VRAI                                                               \
$Z                                                          vD=$_____VRayon vA=$_____VRayon                                             \
$Z                                                                                        >   $FDeCiMaLeS$RAYON
$Z                  ElseBasic
$Z                                      $xrv/AXPB.01$X      ne=$NombreChiffresEffectif                                                  \
$Z                                                          fichier=$FDeCiMaLeS                                                         \
$Z                                                          homothetie=$_____HRayon                                                     \
$Z                                                          translation=$_____TRayon                                                    \
$Z                                                          XPBA=VRAI                                                             |     \
$Z                                      $xrv/PUIX.01$X      ne=$NombreChiffresEffectif                                                  \
$Z                                                          fichier==                                                                   \
$Z                                                          exposant=$_____ERayon                                                 |     \
$Z                                      $xrv/MUL2.11$X      ne=$NombreChiffresEffectif                                                  \
$Z                                                          fichier1==                                                                  \
$Z                                                          fichier2=$_____VRayon                                                       \
$Z                                                                                        >   $FDeCiMaLeS$RAYON
$Z                  EndifBasic

$Z                  set                 ArGuMeNtS="$K_VIDE"
$Z                  set                 ArGuMeNtS="$ArGuMeNtS"" isoles=VRAI"
$Z                  set                 ArGuMeNtS="$ArGuMeNtS"" Lz=1000"
$Z                  set                 ArGuMeNtS="$ArGuMeNtS"" ZOOM=$_____Zoom"
$Z                  set                 ArGuMeNtS="$ArGuMeNtS"" N_au_carre=VRAI"
$Z                  set                 ArGuMeNtS="$ArGuMeNtS"" editer_extrema_hors=FAUX"
$Z                  set                 ArGuMeNtS="$ArGuMeNtS"" editer_mauvais_encadrement_niveaux_interpoles=FAUX"
$Z                  set                 ArGuMeNtS="$ArGuMeNtS"" chiffres=0"
$Z                  set                 ArGuMeNtS="$ArGuMeNtS"" siR=$NOIR"
$Z                  set                 ArGuMeNtS="$ArGuMeNtS"" siV=$NOIR"
$Z                  set                 ArGuMeNtS="$ArGuMeNtS"" siB=$NOIR"
$Z                  set                 ArGuMeNtS="$ArGuMeNtS"" $_____ParticulePara"
$Z                                      # ATTENTION a 'v $xrv/champs_5.15$I SEUIL_INFERIEUR_DU_VERTE' qui n'est pas nul contrairement #
$Z                                      # a 'SEUIL_INFERIEUR_DU_ROUGE' et a 'SEUIL_INFERIEUR_DU_BLEUE'...                             #

$Z                  $xrv/particule.10$X npoints=$NombreChiffresEffectif                                                                 \
$Z                                      LISTE_X=$FDeCiMaLeS$COORD_X                                                                     \
$Z                                      LISTE_Y=$FDeCiMaLeS$COORD_Y                                                                     \
$Z                                      LISTE_Z=$FDeCiMaLeS$COORD_Z                                                                     \
$Z                                      LISTE_NIVEAU=$FDeCiMaLeS$NIVEAU                                                                 \
$Z                                      LISTE_RAYON=$FDeCiMaLeS$RAYON                                                                   \
$Z                                      p=$_____PaletteZ                                                                                \
$Z                                      $ArGuMeNtS                                                                                      \
$Z                                      fond=VRAI F=$_____Fond_Z                                                                        \
$Z                                      R=$xTV/SURFACE.Z                                                                                \
$Z                                                          $formatI
$Z                                      # Afin de generer le champ de cote '$xTV/SURFACE.2'...                                        #

$Z                  $xrv/particule.10$X npoints=$NombreChiffresEffectif                                                                 \
$Z                                      LISTE_X=$FDeCiMaLeS$COORD_X                                                                     \
$Z                                      LISTE_Y=$FDeCiMaLeS$COORD_Y                                                                     \
$Z                                      LISTE_Z=$FDeCiMaLeS$COORD_Z                                                                     \
$Z                                      LISTE_NIVEAU=$FDeCiMaLeS$NIVEAU                                                                 \
$Z                                      LISTE_RAYON=$FDeCiMaLeS$RAYON                                                                   \
$Z                                      p=$_____PaletteT                                                                                \
$Z                                      $ArGuMeNtS                                                                                      \
$Z                                      fond=VRAI F=$_____Fond_T                                                                        \
$Z                                      R=$xTV/SURFACE.T                                                                                \
$Z                                                          $formatI
$Z                                      # Afin de generer la texture...                                                               #

$Z                  IfBasic             ($_____Surface != $NEXIST) ThenBasic
$Z                                      $_____Surface       $_____ArgSurface                                                            \
$Z                                                          standard=FAUX                                                               \
$Z                                                          R=$xTV/SURFACE.1                                                            \
$Z                                                                              $formatI

$Z                                      $xci/luminance.01$X                                                                             \
$Z                                                          A=$xTV/SURFACE.Z                                                            \
$Z                                                          R=$xTV/LUMINANCE                                                            \
$Z                                                                              $formatI

$Z                                      IfBasic             ($_____FlouPeripherique == $EXIST) ThenBasic
$Z                                      # Ceci a ete introduit le 20240405135537...                                                   #
$Z                                                          $xci/gauss$X                                                                \
$Z                                                                              c=$_____FlouPeripheriqueG                               \
$Z                                                                                                  $formatI                      |     \
$Z                                                          $xci/complement$X                                                           \
$Z                                                                                                  $formatI                      |     \
$Z                                                          $xci/passe_bande$X                                                          \
$Z                                                                              inf=$_____FlouPeripheriqueSI                            \
$Z                                                                              sup=$_____FlouPeripheriqueSS                            \
$Z                                                                              forcer_niveau_intermediaire=VRAI                        \
$Z                                                                              niveau_intermediaire=$BLANC                             \
$Z                                                                                                  $formatI                      |     \
$Z                                                          $xci/convol.01$X                                                            \
$Z                                                                              points=$_____FlouPeripheriqueP1                         \
$Z                                                                              circulaire=VRAI circulaire_optimale=VRAI                \
$Z                                                                              R=$xTV/NOYAU                                            \
$Z                                                                                                  $formatI

$Z                                                          $xci/convol.02$X                                                            \
$Z                                                                              A=$xTV/LUMINANCE                                        \
$Z                                                                              facteur_points=$_____FlouPeripheriqueP2                 \
$Z                                                                              N=$xTV/NOYAU                                            \
$Z                                                                              V=$BLANC F=$BLANC                                       \
$Z                                                                              R=$xTV/LUMINANCE                                        \
$Z                                                                                                  $formatI
$Z                                      ElseBasic
$Z                                      EndifBasic

$Z                                      $xci/acces$X                                                                                    \
$Z                                                          A=$xTV/LUMINANCE                                                            \
$Z                                                          convertir=VRAI                                                              \
$Z                                                                              $formatI                                          |     \
$Z                                      $xci/lissage$X                                                                                  \
$Z                                                          standard=FAUX                                                               \
$Z                                                          passes=$_____PassesLissage                                                  \
$Z                                                          navap=VRAI                                                                  \
$Z                                                                              $formatI                                          |     \
$Z                                      $xci/exponent$X                                                                                 \
$Z                                                          standard=FAUX                                                               \
$Z                                                          exposant=$_____ExposantLissage                                              \
$Z                                                          cx=0 cy=0 cn=1                                                              \
$Z                                                          R=$xTV/SURFACE.2                                                            \
$Z                                                                              $formatI

$Z                                      $xci/interpole.01$X                                                                             \
$Z                                                          standard=FAUX                                                               \
$Z                                                          alpha=$_____PSurface1                                                       \
$Z                                                          A1=$xTV/SURFACE.1                                                           \
$Z                                                          beta=$_____PSurface2                                                        \
$Z                                                          A2=$xTV/SURFACE.2                                                           \
$Z                                                                              $formatI                                          |     \
$Z                                      $xci/normalise.01$X                                                                             \
$Z                                                          R=$xTV/SURFACE                                                              \
$Z                                                                              $formatI

$Z                                      IfBasic             ($_____Avion == VRAI) ThenBasic
$Z                                                execRVB   $xci/montagne.01$X                                                          \
$Z                                                                              A=$xTV/SURFACE                                          \
$Z                                                                              standard=FAUX zero=FAUX                                 \
$Z                                                                              T=$xTV/SURFACE.T%s                                      \
$Z                                                                              avion=$_____Avion                                       \
$Z                                                                              $_____ArgMontagne                                       \
$Z                                                                              R=$_____imageR%s                                        \
$Z                                                                                                  $formatI
$Z                                      ElseBasic
$Z                                                          IfBasic             ($_____Avion == FAUX) ThenBasic
$Z                                                                              set       ArG_MoNt="$_____ArgMontagne perspective=0.5"

$Z                                                                              $xci/montagne.01$X                                      \
$Z                                                                                                  A=$xTV/SURFACE                      \
$Z                                                                                                  standard=FAUX zero=FAUX             \
$Z                                                                                                  T=$BLANC                            \
$Z                                                                                                  avion=FAUX                          \
$Z                                                                                                  $ArG_MoNt                           \
$Z                                                                                                  Z-Buffer=VRAI                       \
$Z                                                                                                  R=$xTV/MONTAGNE                     \
$Z                                                                                                                      $formatI  |     \
$Z                                                                              $xci/complement$X                                       \
$Z                                                                                                                      $formatI  |     \
$Z                                                                              $xci/multi_02.01$X                                      \
$Z                                                                                                  exponentiation_image=VRAI           \
$Z                                                                                                  exposant=6                          \
$Z                                                                                                  R=$xTV/BRUME                        \
$Z                                                                                                                      $formatI

$Z                                                                    execRVB   $xci/montagne.01$X                                      \
$Z                                                                                                  A=$xTV/SURFACE                      \
$Z                                                                                                  standard=FAUX zero=FAUX             \
$Z                                                                                                  T=$xTV/SURFACE.T%s                  \
$Z                                                                                                  avion=FAUX                          \
$Z                                                                                                  $ArG_MoNt                           \
$Z                                                                                                  R=$_____imageR%s                    \
$Z                                                                                                                      $formatI

$Z                                                                    execRVB   $xci/brume.11$X                                         \
$Z                                                                                                  A=$_____imageR%s                    \
$Z                                                                                                  B=$xTV/BRUME                        \
$Z                                                                                                  R=$_____imageR%s                    \
$Z                                                                                                                      $formatI
$Z                                                          ElseBasic
$Z                                                                              EROR                "Probleme de mode 'avion'."
$Z                                                          EndifBasic
$Z                                      EndifBasic
$Z                  ElseBasic
$Z                            execRVB   $xci/neutre$X                                                                                   \
$Z                                                          A=$xTV/SURFACE.T%s                                                          \
$Z                                                          R=$_____imageR%s                                                            \
$Z                                                                              $formatI
$Z                  EndifBasic

$Z                  if                  ($_____Chiffres == $EXIST) then
$Z                                      if                  ($_____Avion == VRAI) then
$Z                                                          set                 ChIfReS_EfFeCtIfS=$_____NChiffres
$Z                                      else
$Z                                                          if                  ($_____Avion == FAUX) then
#20240402080500____:$Z                                                          set                 LEtIqUe=($K_VIDE)                 #
#20240402080500____:$Z                                                          set                 LEtIqUe=($LEtIqUe 3,1010,1165)    #
#20240402080500____:$Z                                                          set                 LEtIqUe=($LEtIqUe 1,948,1044)     #
#20240402080500____:$Z                                                          set                 LEtIqUe=($LEtIqUe 4,984,1051)     #
#20240402080500____:$Z                                                          set                 LEtIqUe=($LEtIqUe 1,1045,928)     #
#20240402080500____:$Z                                                          set                 LEtIqUe=($LEtIqUe 5,1113,1041)    #
#20240402080500____:$Z                                                          set                 LEtIqUe=($LEtIqUe 9,1151,1185)    #
#20240402080500____:$Z                                                          set                 LEtIqUe=($LEtIqUe 2,1186,1034)    #
#20240402080500____:$Z                                                          set                 LEtIqUe=($LEtIqUe 6,1118,1174)    #
#20240402080500____:$Z                                                          set                 LEtIqUe=($LEtIqUe 5,1067,1154)    #

$Z                                                          set                 LEtIqUe=($K_VIDE)
$Z                                                          set                 LEtIqUe=($LEtIqUe 3,1014,1021)
$Z                                                          set                 LEtIqUe=($LEtIqUe 1,952,965)
$Z                                                          set                 LEtIqUe=($LEtIqUe 4,984,879)
$Z                                                          set                 LEtIqUe=($LEtIqUe 1,1050,845)
$Z                                                          set                 LEtIqUe=($LEtIqUe 5,1116,839)
$Z                                                          set                 LEtIqUe=($LEtIqUe 9,1161,864)
$Z                                      # Ces coordonnees pour les chiffres {3,1,4,1,5,9,2,6,5} ont ete obtenues "a la main"          #
$Z                                      # grace a 'v $xiirv/PIPO.U1$M' et a la touche 'SHIFT'...                                      #
$Z                                      #                                                                                             #
$Z                                      # Le 20240402080500, il y a eu passage a {3,1,4,1,5,9} a la base des pics et non plus         #
$Z                                      # au sommet...                                                                                #

$Z                                                                              @         ChIfReS_EfFeCtIfS = $Base_10 + $#LEtIqUe

$Z                                                                              FilSTmpB  FEtIqUe

$Z                                                                              echo      $LEtIqUe                                |     \
$Z                                                                              $R        "$K_BLANC" "$K_NL"                      |     \
$Z                                                                              $R        ","        "$K_BLANC"                         \
$Z                                                                                                            >> $FEtIqUe

$Z                                                                              $CA       $FEtIqUe                                |     \
$Z                                                                              $AW       ' { print $1 } '                              \
$Z                                                                                                            >   $FEtIqUe.decimales

$Z                                                                              $CA       $FEtIqUe                                |     \
$Z                                                                              $AW       ' { print $2 } '                        |     \
$Z                                                                              $xrv/MUL2.11$X                                          \
$Z                                                                                        ne=0                                          \
$Z                                                                                        fichier2==                                    \
$Z                                                                                        fichier1=`calcul $dimX/$dimXSqu`        |     \
$Z                                                                              $xrv/normalise.01$X                                     \
$Z                                                                                        ne=0                                          \
$Z                                                                                        fichier==                                     \
$Z                                                                                        forcer_extrema=VRAI                           \
$Z                                                                                        minimum_force=$Xmin maximum_force=$Xmax       \
$Z                                                                                                            >   $FEtIqUe$COORD_X

$Z                                                                              $CA       $FEtIqUe                                |     \
$Z                                                                              $AW       ' { print $3 } '                        |     \
$Z                                                                              $xrv/MUL2.11$X                                          \
$Z                                                                                        ne=0                                          \
$Z                                                                                        fichier2==                                    \
$Z                                                                                        fichier1=`calcul $dimY/$dimYSqu`        |     \
$Z                                                                              $xrv/normalise.01$X                                     \
$Z                                                                                        ne=0                                          \
$Z                                                                                        fichier==                                     \
$Z                                                                                        forcer_extrema=VRAI                           \
$Z                                                                                        minimum_force=$Ymin maximum_force=$Ymax       \
$Z                                                                                                            >   $FEtIqUe$COORD_Y

$Z                                                                              $xci/valeurs_inte$X premiere=1 derniere=$#LEtIqUe       \
$Z                                                                                                  lineaire=VRAI                       \
$Z                                                                                                  vD=$_____Z_____L vA=$_____Z_____L   \
$Z                                                                                                            >   $FEtIqUe$COORD_Z

$Z                                                                              set       PlAnChEr=$NOIR_PLANCHER
$Z                                                                              unset     PlAnChEr
$Z                                                                              set       PlAnChEr=$BLANC
$Z                                      # Afin que les 10 chiffres {0,1,2,3,4,5,6,7,8,9} soient BLANCs...                             #

$Z                                                                              $xrv/normalise.01$X                                     \
$Z                                                                                        ne=0                                          \
$Z                                                                                        fichier=$FEtIqUe.decimales                    \
$Z                                                                                        forcer_extrema=VRAI                           \
$Z                                                                                        minimum_force=0                               \
$Z                                                                                        maximum_force=`calcul $Base_10-1`             \
$Z                                                                                        minimum=$PlAnChEr maximum=$BLANC              \
$Z                                                                                        formater=VRAI entiers=VRAI                    \
$Z                                                                                                            >   $FEtIqUe$NIVEAU
$Z                                                          else
$Z                                                                              EROR                "Probleme en mode 'avion' -1-."
$Z                                                          endif
$Z                                      endif

$Z                                      FilSTmpB  FEtIqUeTtAgE3 $Y

$Z                                      $CA       $xcs/csh$Y                                                                            \
$Z                                                                                        >> $FEtIqUeTtAgE3
$Z                                      echo      'source    $xrd/graph.01$vv$Y'                                                        \
$Z                                                                                        >> $FEtIqUeTtAgE3

$Z                                      echo      "G_K       $_____KChiffres"                                                           \
$Z                                                                                        >> $FEtIqUeTtAgE3
$Z                                      echo      "G_Zoom    $_____Zoom"                                                                \
$Z                                                                                        >> $FEtIqUeTtAgE3

$Z                                      if                  ($_____Avion == VRAI) then
$Z                                                          set       LChIfFrE_=`$CA $FDeCiMaLeS | $HEA -$ChIfReS_EfFeCtIfS`
$Z                                                          set       LChIfFrEX=`$CA $FDeCiMaLeS$COORD_X | $HEA -$ChIfReS_EfFeCtIfS`
$Z                                                          set       LChIfFrEY=`$CA $FDeCiMaLeS$COORD_Y | $HEA -$ChIfReS_EfFeCtIfS`
$Z                                                          set       LChIfFrEZ=`$CA $FDeCiMaLeS$COORD_Z | $HEA -$ChIfReS_EfFeCtIfS`
$Z                                                          set       LChIfFrEN=`$CA $FDeCiMaLeS$NIVEAU  | $HEA -$ChIfReS_EfFeCtIfS`
$Z                                      else
$Z                                                          if                  ($_____Avion == FAUX) then
$Z                                           set       LChIfFrE_=`$CA $FChIfFrEs | $HEA -$ChIfReS_EfFeCtIfS | $CA - $FEtIqUe.decimales`

$Z                                                          FilSTmpB  FLeGeNdE_XYZ

$Z                                                          $xci/valeurs_inte$X premiere=1 derniere=`calculINS $Base_10+1`              \
$Z                                                                              lineaire=VRAI                                           \
$Z                                                                              vD=$_____Legende2_mX      vA=$_____Legende2_MX    |     \
$Z                                                          $HEA      -$Base_10                                                         \
$Z                                                                                                            >   $FLeGeNdE_XYZ$COORD_X

$Z                                                          $xci/valeurs_inte$X premiere=1 derniere=`calculINS $Base_10+1`              \
$Z                                                                              lineaire=VRAI                                           \
$Z                                                                              vD=$_____Legende2_mY      vA=$_____Legende2_MY    |     \
$Z                                                          $HEA      -$Base_10                                                         \
$Z                                                                                                            >   $FLeGeNdE_XYZ$COORD_Y

$Z                                                          $xci/valeurs_inte$X premiere=1 derniere=`calculINS $Base_10+1`              \
$Z                                                                              lineaire=VRAI                                           \
$Z                                                                              vD=$_____Z_____L          vA=$_____Z_____L        |     \
$Z                                                          $HEA      -$Base_10                                                         \
$Z                                                                                                            >   $FLeGeNdE_XYZ$COORD_Z
$Z                                      # Ici on definit les legendes {0,1,2,3,4,5,6,7,8,9}...                                        #

$Z                                 set       LChIfFrEX=`$CA $FLeGeNdE_XYZ$COORD_X | $HEA -$ChIfReS_EfFeCtIfS | $CA - $FEtIqUe$COORD_X`
$Z                                 set       LChIfFrEY=`$CA $FLeGeNdE_XYZ$COORD_Y | $HEA -$ChIfReS_EfFeCtIfS | $CA - $FEtIqUe$COORD_Y`
$Z                                 set       LChIfFrEZ=`$CA $FLeGeNdE_XYZ$COORD_Z | $HEA -$ChIfReS_EfFeCtIfS | $CA - $FEtIqUe$COORD_Z`

$Z                                                          FilSTmpE  FLeGeNdE_XYZ

$Z                                 set       LChIfFrEN=`$CA $FChIfFrEs$NIVEAU  | $HEA -$ChIfReS_EfFeCtIfS | $CA - $FEtIqUe$NIVEAU`
$Z                                      # On trouve dans l'ordre les chiffres {0,1,2,3,4,5,6,7,8,9,3,1,4,1,5,9,2,6,5}, puis           #
$Z                                      # {0,1,2,3,4,5,6,7,8,9,3,1,4,1,5,9} a compter du 20240402080500...                            #

$Z                                                          FilSTmpE  FEtIqUe
$Z                                                          else
$Z                                                                              EROR                "Probleme en mode 'avion' -2-."
$Z                                                          endif
$Z                                      endif

$Z                                      set       DeCoMpTeUr=$ChIfReS_EfFeCtIfS
$Z                                      set       index=1

$Z                                      while     ($DeCoMpTeUr > 0)
$Z                                                set       ChIfFrE_=$LChIfFrE_[$index]
$Z                                                set       ChIfFrEC=`echo "$ChIfFrE_" | $R "0" "O" | $SE -e "s/1/|/g"`
$Z                                      # Et ce afin que d'une part le "0" soit plus beau et d'autre part parce que le "1" possede    #
$Z                                      # une definition conditionnelle ('v $xiii/alphabet.0$FON FgL1_00') et ainsi on le remplace    #
$Z                                      # par "|" qui est en fait ('v $xiii/alphabet.0$FON FgLpipe_00') le "1" non proportionnel...   #

$Z                                                if        ($_____Avion == VRAI) then
$Z                                                          set       TrAnSlX=0.015
$Z                                                          set       TrAnSlY=0.015
$Z                                                else
$Z                                                          set       TrAnSlX=0
$Z                                                          set       TrAnSlY=0
$Z                                                endif

$Z                                                set       ChIfFrEX=`$xcg/ADD2.01$X a=$LChIfFrEX[$index] b=$TrAnSlX`
$Z                                                set       ChIfFrEY=`$xcg/ADD2.01$X a=$LChIfFrEY[$index] b=$TrAnSlY`
$Z                                                set       ChIfFrEZ=$LChIfFrEZ[$index]

$Z                                                echo      "G_Cursor1 $ChIfFrEX $ChIfFrEY $ChIfFrEZ"                                   \
$Z                                                                                                  >> $FEtIqUeTtAgE3

$Z                                                if        ($_____NiveauC != $GRIS_0) then
$Z                                                          echo      "G_Cursor2"" $_____NiveauC "" $_____NiveauC "" $_____NiveauC "    \
$Z                                                                                                            >> $FEtIqUeTtAgE3
$Z                                                else
$Z                                                          set       ArGs="$K_VIDE"
$Z                                                          set       ArGs="$ArGs"" p=$_____PaletteT niveau=$LChIfFrEN[$index]"
$Z                                                          set       ArGs="$ArGs"" Prme=VRAI"
$Z                                                          set       NiVeAu_R=`$xciP/G_NIVEAU$X $ArGs R=VRAI V=FAUX B=FAUX`
$Z                                                          set       NiVeAu_V=`$xciP/G_NIVEAU$X $ArGs R=FAUX V=VRAI B=FAUX`
$Z                                                          set       NiVeAu_B=`$xciP/G_NIVEAU$X $ArGs R=FAUX V=FAUX B=VRAI`

$Z                                                          echo      "G_Cursor2"" $NiVeAu_R "" $NiVeAu_V "" $NiVeAu_B "                \
$Z                                                                                                            >> $FEtIqUeTtAgE3
$Z                                                endif

$Z                                                echo      "G_Cursor3"" $_____RChiffres"                                               \
$Z                                                                                                  >> $FEtIqUeTtAgE3
$Z                                      # Afin d'avoir des chiffres de bonne qualite, il faut que le rayon (0.003) soit petit.        #

$Z                                                echo "G_Quelc   $K_QA""G_Message $K_QD$ChIfFrEC$K_QD$K_QA"                            \
$Z                                                                                                  >> $FEtIqUeTtAgE3
$Z                                                echo "G_Genere  $_____imageR couronne=2 fond=VRAI F=$_____imageR $_____ZoomL"         \
$Z                                                                                                  >> $FEtIqUeTtAgE3
$Z                                      # Afin d'avoir des chiffres de bonne qualite, il faut que la couronne (2) soit etroite.       #
$Z                                                @         index = $index + 1
$Z                                                @         DeCoMpTeUr = $DeCoMpTeUr - 1
$Z                                      end

$Z                                      source              $FEtIqUeTtAgE3

$Z                                      FilSTmpE            FEtIqUeTtAgE3
$Z                  else
$Z                  endif

$Z                  @                   NuMeRo_ToUr = $NuMeRo_ToUr + 1

$Z                  IfBasic             ($?_____NombreChiffresReference == $EXIST) ThenBasic
$Z                                      FilSTmpE            _____FCorrections
$Z                  ElseBasic
$Z                  EndifBasic

$Z                  FilSTmpE            FDeCiMaLeS

$Z                  FilSTmpE            FChIfFrEs

$Z                  unset               _____ZoomL
$Z                  unset               _____KChiffres
$Z                  unset               _____RChiffres
$Z                                      # Afin d'etre sur de les redefinir au tour suivant si besoin est et ce a cause du test        #
$Z                                      # relatif a '$_____Avion' qui les definit en tete...                                          #



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