#######################################################################################################################################
#                                                                                                                                     #
#         E T I Q U E T T A G E   D ' U N E   C O U R B E   D E   H I L B E R T                                                       #
#         S U R   U N E   V A R I E T E   B I D I M E N S I O N N E L L E  :                                                          #
#                                                                                                                                     #
#                                                                                                                                     #
#         Author of '$xiirv/.HILB.N5.2.$U' :                                                                                          #
#                                                                                                                                     #
#                     Jean-Francois COLONNA (LACTAMME, 20240518141345).                                                               #
#                                                                                                                                     #
#######################################################################################################################################

$Z                  setParam            _____KChiffres                0.0020

$Z                  setParam            _____KChiffres0               0.0050
$Z                  setParam            _____KChiffresN               0.0020
$Z                  setParam            _____KChiffresL               10
$Z                                      # Parametres introduits le 20240523101549. Le parametre '$_____KChiffresL' donne le nombre    #
$Z                                      # des premiers chiffres qui seront rendus plus gros et plus lumineux...                       #

$Z                  setParam            _____Niveau0                  $GRIS_8
$Z                  setParam            _____NiveauN                  $GRIS_4
$Z                                      # Parametres introduits le 20240523101549...                                                  #

$Z                  setParam            _____RChiffres                0.0020
$Z                  setParam            _____ZChiffres                +0.040

$Z                  setParam            _____FTransZ                  2
$Z                                      # Parametre introduit le 20240523095557...                                                    #

$Z                  setParam            _____Bibliotheque             6

$Z                  setParam            _____ArgsGenere               "$K_VIDE"

$Z                  $CA                 $FLiStE_PoInTs                                                                            |     \
$Z                  $AW                 ' { print $7 } '                                                                          |     \
$Z                  $SE                 -e 's/^.*=//'                                                                                   \
$Z                                                                              >  $FCoOrDoNnEeS_T.discriminateur
$Z                                      # Le principe de localisation des chiffres sur la structure est le suivant.                   #
$Z                                      #                                                                                             #
$Z                                      # Le trace bidimensionnel de la courbe de Hilbert donne une suite de segments :               #
$Z                                      #                                                                                             #
$Z                                      #                   A........BC........DE........F (...) T........UV........W                 #
$Z                                      #                                                                                             #
$Z                                      # ce qui signifie que les sommets de la courbe, sauf aux extremites 'A' et 'W' sont           #
$Z                                      # dupliques (par exemple 'B' et 'C' correspondent au meme point)...                           #
$Z                                      #                                                                                             #
$Z                                      # Donc ci-apres les '$xrv/selection.01$X's vont recuperer la plupart des sommets en double    #
$Z                                      # (tous, sauf sonc les extremites 'A' et 'W'). Le but des '$xcp/substitue.01$X's suivant      #
$Z                                      # est donc de supprimer ces doublons...                                                       #

$Z                  $CA                 $FCoOrDoNnEeS_T                                                                           |     \
$Z                  $AW                 ' { print $3 } '                                                                          |     \
$Z                  $SE                 -e 's/^.*=//'                                                                             |     \
$Z                  $xrv/selection.01$X ne=0                                                                                            \
$Z                                      fichier==                                                                                       \
$Z                                      selection=$FCoOrDoNnEeS_T.discriminateur                                                  |     \
$Z                  $xcp/substitue.01$X                                                                                                 \
$Z                                      c01="\([-+.$Alphabet_0_9]*\n\)\1"  s01="\1"                                                     \
$Z                                                                              >  $FCoOrDoNnEeS_T$COORD_X

$Z                  $CA                 $FCoOrDoNnEeS_T                                                                           |     \
$Z                  $AW                 ' { print $4 } '                                                                          |     \
$Z                  $SE                 -e 's/^.*=//'                                                                             |     \
$Z                  $xrv/selection.01$X ne=0                                                                                            \
$Z                                      fichier==                                                                                       \
$Z                                      selection=$FCoOrDoNnEeS_T.discriminateur                                                  |     \
$Z                  $xcp/substitue.01$X                                                                                                 \
$Z                                      c01="\([-+.$Alphabet_0_9]*\n\)\1"  s01="\1"                                                     \
$Z                                                                              >  $FCoOrDoNnEeS_T$COORD_Y

$Z                  $CA                 $FCoOrDoNnEeS_T                                                                           |     \
$Z                  $AW                 ' { print $5 } '                                                                          |     \
$Z                  $SE                 -e 's/^.*=//'                                                                             |     \
$Z                  $xrv/selection.01$X ne=0                                                                                            \
$Z                                      fichier==                                                                                       \
$Z                                      selection=$FCoOrDoNnEeS_T.discriminateur                                                  |     \
$Z                  $xcp/substitue.01$X                                                                                                 \
$Z                                      c01="\([-+.$Alphabet_0_9]*\n\)\1"  s01="\1"                                                     \
$Z                                                                              >  $FCoOrDoNnEeS_T$COORD_Z

$Z                  $CA                 $FCoOrDoNnEeS_T                                                                           |     \
$Z                  $AW                 ' { print $8 } '                                                                          |     \
$Z                  $SE                 -e 's/^.*=//'                                                                             |     \
$Z                  $xrv/selection.01$X ne=0                                                                                            \
$Z                                      fichier==                                                                                       \
$Z                                      selection=$FCoOrDoNnEeS_T.discriminateur                                                  |     \
$Z                  $xcp/substitue.01$X                                                                                                 \
$Z                                      c01="\([-+.$Alphabet_0_9]*\n\)\1"  s01="\1"                                                     \
$Z                                                                              >  $FCoOrDoNnEeS_T$RAYON
$Z                                      # La recuperation du '$RAYON' a ete introduite le 20240523095557...                           #

$Z                  set                 LChIfFrEs_P=`$CA $_____FSave_Decimales`
$Z                  set                 LCoOrDoNnEeS_PX=`$CA $FCoOrDoNnEeS_T$COORD_X`
$Z                  set                 LCoOrDoNnEeS_PY=`$CA $FCoOrDoNnEeS_T$COORD_Y`
$Z                  set                 LCoOrDoNnEeS_PZ=`$CA $FCoOrDoNnEeS_T$COORD_Z`
$Z                  set                 LCoOrDoNnEeS_PR=`$CA $FCoOrDoNnEeS_T$RAYON`

$Z                  $xci/valeurs_poly$X n00=$_____KChiffres0                                                                            \
$Z                                      n01=`calcul ($_____KChiffresN-$_____KChiffres0)/($_____KChiffresL-1)`                           \
$Z                                      n02=0                                                                                           \
$Z                                      premiere=1 derniere=$#LChIfFrEs_P                                                               \
$Z                                      xD=0 xA=`calcul $#LChIfFrEs_P-1`                                                                \
$Z                                      lineaire=VRAI                                                                             |     \
$Z                  $xrv/MAX2.11$X      ne=0                                                                                            \
$Z                                      fichier1==                                                                                      \
$Z                                      fichier2=$_____KChiffresN                                                                       \
$Z                                                                              >  $FCoOrDoNnEeS_T.TAILLE

$Z                  set                 LCoOrDoNnEeS_PT=`$CA $FCoOrDoNnEeS_T.TAILLE`

$Z                  $xci/valeurs_poly$X n00=$_____Niveau0                                                                               \
$Z                                      n01=`calcul ($_____NiveauN-$_____Niveau0)/($_____KChiffresL-1)`                                 \
$Z                                      n02=0                                                                                           \
$Z                                      premiere=1 derniere=$#LChIfFrEs_P                                                               \
$Z                                      xD=0 xA=`calcul $#LChIfFrEs_P-1`                                                                \
$Z                                      lineaire=VRAI                                                                             |     \
$Z                  $xrv/MAX2.11$X      ne=0                                                                                            \
$Z                                      fichier1==                                                                                      \
$Z                                      fichier2=$_____NiveauN                                                                          \
$Z                                      formater=VRAI entiers=VRAI                                                                      \
$Z                                                                              >  $FCoOrDoNnEeS_T$NIVEAU

$Z                  set                 LCoOrDoNnEeS_PN=`$CA $FCoOrDoNnEeS_T$NIVEAU`

#20240523095557____:$Z                  IfBasic             (    ($#LCoOrDoNnEeS_PX != $#LChIfFrEs_P)                              \  #
#20240523095557____:$Z                                      ||   ($#LCoOrDoNnEeS_PY != $#LChIfFrEs_P)                              \  #
#20240523095557____:$Z                                      ||   ($#LCoOrDoNnEeS_PZ != $#LChIfFrEs_P)                              \  #
#20240523095557____:$Z                                       ) ThenBasic                                                              #

$Z                  IfBasic             (    ($#LCoOrDoNnEeS_PX != $#LChIfFrEs_P)                                                       \
$Z                                      ||   ($#LCoOrDoNnEeS_PY != $#LChIfFrEs_P)                                                       \
$Z                                      ||   ($#LCoOrDoNnEeS_PZ != $#LChIfFrEs_P)                                                       \
$Z                                      ||   ($#LCoOrDoNnEeS_PR != $#LChIfFrEs_P)                                                       \
$Z                                       ) ThenBasic
$Z                                      EROR      "Les listes de coordonnees sont incompatibles avec la liste des decimales."
$Z                                      EROR      "Peut-etre s'agit'il d'un probleme de bornes des {u,v} de '"'$_____Surface/'"'."
$Z                  ElseBasic
$Z                  EndifBasic

$Z                  FilSTmpB            FEtIqUeTtAgE $Y

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

$Z                  echo      'source    $xrd/graph.01$vv$Y'                                                                            \
$Z                                                                              >> $FEtIqUeTtAgE

$Z                  echo      "set       G_Alphabet=$_____Bibliotheque"                                                                 \
$Z                                                                              >> $FEtIqUeTtAgE

#20240523100755____:$Z                  echo      "G_K       $_____KChiffres"                                                      \  #
#20240523100755____:$Z                                                                              >> $FEtIqUeTtAgE                  #

$Z                  echo      "G_Zoom    $_____Zoom"                                                                                    \
$Z                                                                              >> $FEtIqUeTtAgE

#20240523095557____:$Z                  set       TrAnSlX=0                                                                           #
#20240523095557____:$Z                  set       TrAnSlY=0                                                                           #
#20240523095557____:$Z                  set       TrAnSlZ=$_____ZChiffres                                                             #

#20240520140009____:$Z                  set       NiVeAu_R=$BLANC                                                                     #
#20240520140009____:$Z                  set       NiVeAu_V=$BLANC                                                                     #
#20240520140009____:$Z                  set       NiVeAu_B=$BLANC                                                                     #

$Z                  set                 AGeNeRe_C="$K_VIDE"
$Z                  set                 AGeNeRe_C="$AGeNeRe_C"" couronne=1"
$Z                  set                 AGeNeRe_C="$AGeNeRe_C"" dcm=$DePtHCuEiNg"
$Z                  set                 AGeNeRe_C="$AGeNeRe_C"" fond=VRAI"
$Z                  set                 AGeNeRe_C="$AGeNeRe_C"" F=$_____ImageR"
$Z                  set                 AGeNeRe_C="$AGeNeRe_C"" BZ=0.5"
$Z                  set                 AGeNeRe_C="$AGeNeRe_C"" Zfond=VRAI ZF=$ZBuFfEr"
$Z                  set                 AGeNeRe_C="$AGeNeRe_C"" ZBuffer=VRAI Z=$ZBuFfEr"
$Z                  set                 AGeNeRe_C="$AGeNeRe_C"" ATTENTION=FAUX"
$Z                  set                 AGeNeRe_C="$AGeNeRe_C"" $_____ArgsGenere"

#20240520140009____:$Z        alias     GeNeRe_C  'set      ChIfFrEX="\!:1" ; set ChIfFrEy="\!:2" ; set ChIfFrEZ="\!:3"      ;    \\  #
#20240520140009____:$Z                             echo     "G_Cursor1 $ChIfFrEX $ChIfFrEY $ChIfFrEZ"                             \\  #
#20240520140009____:$Z                                                                              >> $FEtIqUeTtAgE         ;    \\  #
#20240520140009____:$Z                             echo     "G_Cursor2"" $NiVeAu_R "" $NiVeAu_V "" $NiVeAu_B "                    \\  #
#20240520140009____:$Z                                                                              >> $FEtIqUeTtAgE         ;    \\  #
#20240520140009____:$Z                             echo     "G_Cursor3"" $_____RChiffres"                                         \\  #
#20240520140009____:$Z                                                                              >> $FEtIqUeTtAgE         ;    \\  #
#20240520140009____:$Z                             echo     "G_Quelc   $K_QA""G_Message $K_QD$ChIfFrEC$K_QD$K_QA"                 \\  #
#20240520140009____:$Z                                                                              >> $FEtIqUeTtAgE         ;    \\  #
#20240520140009____:$Z                             echo     "G_Zoom    1"                                                         \\  #
#20240520140009____:$Z                                                                              >> $FEtIqUeTtAgE         ;    \\  #
#20240520140009____:$Z                             unset    ChIfFrEX ChIfFrEY ChIfFrEZ'                                               #

#20240523095557____:$Z        alias     GeNeRe_C  'set      ChIfFrEX="\!:1" ; set ChIfFrEy="\!:2" ; set ChIfFrEZ="\!:3"      ;    \\  #
#20240523095557____:$Z                             set      NiVeAu_R="\!:4" ; set NiVeAu_V="\!:5" ; set NiVeAu_B="\!:6"      ;    \\  #
#20240523095557____:$Z                             echo     "G_Cursor1"" $ChIfFrEX $ChIfFrEY $ChIfFrEZ"                           \\  #
#20240523095557____:$Z                                                                              >> $FEtIqUeTtAgE         ;    \\  #
#20240523095557____:$Z                             echo     "G_Cursor2"" $NiVeAu_R "" $NiVeAu_V "" $NiVeAu_B "                    \\  #
#20240523095557____:$Z                                                                              >> $FEtIqUeTtAgE         ;    \\  #
#20240523095557____:$Z                             echo     "G_Cursor3"" $_____RChiffres"                                         \\  #
#20240523095557____:$Z                                                                              >> $FEtIqUeTtAgE         ;    \\  #
#20240523095557____:$Z                             echo     "G_Quelc""   $K_QA""G_Message $K_QD$ChIfFrEC$K_QD$K_QA"               \\  #
#20240523095557____:$Z                                                                              >> $FEtIqUeTtAgE         ;    \\  #
#20240523095557____:$Z                             echo     "G_Zoom""    1"                                                       \\  #
#20240523095557____:$Z                                                                              >> $FEtIqUeTtAgE         ;    \\  #
#20240523095557____:$Z                             unset    ChIfFrEX ChIfFrEY ChIfFrEZ'                                               #

$Z                  alias     GeNeRe_C  'set      ChIfFrEX="\!:1" ; set ChIfFrEy="\!:2" ; set ChIfFrEZ="\!:3"                     ;    \\
$Z                                       set      NiVeAu_R="\!:4" ; set NiVeAu_V="\!:5" ; set NiVeAu_B="\!:6"                     ;    \\
$Z                                       set      TaIlLe="\!:7"                                                                   ;    \\
$Z                                       echo     "G_Cursor1"" $ChIfFrEX $ChIfFrEY $ChIfFrEZ"                                          \\
$Z                                                                                        >> $FEtIqUeTtAgE                        ;    \\
$Z                                       echo     "G_Cursor2"" $NiVeAu_R "" $NiVeAu_V "" $NiVeAu_B "                                   \\
$Z                                                                                        >> $FEtIqUeTtAgE                        ;    \\
$Z                                       echo     "G_K         $TaIlLe"                                                                \\
$Z                                                                                        >> $FEtIqUeTtAgE                        ;    \\
$Z                                       echo     "G_Cursor3"" $_____RChiffres"                                                        \\
$Z                                                                                        >> $FEtIqUeTtAgE                        ;    \\
$Z                                       echo     "G_Quelc""   $K_QA""G_Message $K_QD$ChIfFrEC$K_QD$K_QA"                              \\
$Z                                                                                        >> $FEtIqUeTtAgE                        ;    \\
$Z                                       echo     "G_Zoom""    1"                                                                      \\
$Z                                                                                        >> $FEtIqUeTtAgE                        ;    \\
$Z                                       unset    ChIfFrEX ChIfFrEY ChIfFrEZ NiVeAu_R NiVeAu_V NiVeAu_B TaIlLe'

#20240523101549____:$Z                  set       NiVeAu_R=$GRIS_8                                                                    #
#20240523101549____:$Z                  set       NiVeAu_V=$GRIS_8                                                                    #
#20240523101549____:$Z                  set       NiVeAu_B=$GRIS_8                                                                    #
$Z                                      # Ainsi, la partie entiere sera plus lumineuse que les decimales...                           #

$Z                  set       DeCoMpTeUr=$#LChIfFrEs_P
$Z                  set       index=1

$Z                  while     ($DeCoMpTeUr > 0)
$Z                            set       ChIfFrEC=$LChIfFrEs_P[$index]

$Z                            set       TrAnSlX=0
$Z                            set       TrAnSlY=0
$Z                            set       TrAnSlZ=`$xcg/MUL2.01$X a=$_____FTransZ b=$LCoOrDoNnEeS_PR[$index]`

$Z                            set       ChIfFrEX=`$xcg/ADD2.01$X a=$LCoOrDoNnEeS_PX[$index] b=$TrAnSlX`
$Z                            set       ChIfFrEY=`$xcg/ADD2.01$X a=$LCoOrDoNnEeS_PY[$index] b=$TrAnSlY`
$Z                            set       ChIfFrEZ=`$xcg/ADD2.01$X a=$LCoOrDoNnEeS_PZ[$index] b=$TrAnSlZ`

$Z                            set       TaIlLe=$LCoOrDoNnEeS_PT[$index]

$Z                            set       NiVeAu_R=$LCoOrDoNnEeS_PN[$index]
$Z                            set       NiVeAu_V=$LCoOrDoNnEeS_PN[$index]
$Z                            set       NiVeAu_B=$LCoOrDoNnEeS_PN[$index]

$Z                            GeNeRe_C  $ChIfFrEX $ChIfFrEY $ChIfFrEZ $NiVeAu_R $NiVeAu_V $NiVeAu_B $TaIlLe

#20240523101549____:$Z                            IfBasic             ($_____PartieEntiere == $NEXIST) ThenBasic                      #
$Z                                      # Test introduit le 20240520140009...                                                         #
#20240523101549____:$Z                            ElseBasic                                                                           #
#20240523101549____:$Z                                      set       NiVeAu_R=$GRIS_4                                                #
#20240523101549____:$Z                                      set       NiVeAu_V=$GRIS_4                                                #
#20240523101549____:$Z                                      set       NiVeAu_B=$GRIS_4                                                #
$Z                                      # Ainsi, les decimales seront plus sombres que la partie entiere...                           #
#20240523101549____:$Z                            EndifBasic                                                                          #

$Z                            @         index = $index + 1
$Z                            @         DeCoMpTeUr = $DeCoMpTeUr - 1
$Z                  end

$Z                  echo      "G_Genere  $_____ImageR $AGeNeRe_C"                                                                       \
$Z                                                                              >> $FEtIqUeTtAgE

$Z                  echo      "G_Delete"                                                                                                \
$Z                                                                              >> $FEtIqUeTtAgE

$Z                  source              $FEtIqUeTtAgE

$Z                  FilSTmpE            FEtIqUeTtAgE



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.