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