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