#!/bin/csh ####################################################################################################################################### # # # E D I T I O N D E S R E G L E S D E C O N S T R U C T I O N D E L ' E P O N G E D E M E N G E R : # # # # # # Utilisation : # # # # $xrf/EpongeDeMenger.01$Z [<MIterations> [<Comptage> [[<ParamMenger> [<RapportHomothetie>]]]] # # # # # # Author of '$xrf/EpongeDeMenger.01$Z' : # # # # Jean-Francois COLONNA (LACTAMME, 20240924095702). # # # ####################################################################################################################################### set _____MIterations="$1" set _____Comptage="$2" set _____ParamMenger="$3" set _____RapportHomothetie="$4" setArgum _____MIterations `GetParam $xrf/EpongeDeMenger.01$X nombre_iterations` setArgum _____Comptage $NEXIST setArgum _____ParamMenger "$K_VIDE" # Cet argument permet de parametrer completement '$xrf/EpongeDeMenger.01$X'. Ainsi, on # # pourra trouver : # # # # "lc=111101111101000101111101111" # # # # qui definit l'Eponge de Menger classique, ou : # # # # "pc=VRAI lc=AAAAAAAAAAAAAAAAAAAAAAAAAAA LISTE_VALEURS_ALEATOIRES_PRE_CALCULEES=BiNaRy_F" # # # # qui definira une Eponge de Menger conditionnee par le fichier binaire de nom 'BiNaRy_F' # # (par exemple 'v $xrp/Decimales_Base02_Pi_____1000000.1')... # setArgum _____RapportHomothetie `GetParam $xrf/EpongeDeMenger.01$X rapport_homothetie` set _____XYmax=`calculINS (100*$_____RapportHomothetie)-1` set cPremiere=1 set cDerniere=`calculINS 100*$_____RapportHomothetie` XYmaxNe $_____XYmax $_____XYmax FilSTmpB FMeNgErSeCtIoNs FilSTmpB FMeNgErReGlEs $xrf/EpongeDeMenger.01$X \ rapport_homothetie=$_____RapportHomothetie \ nombre_iterations=$_____MIterations \ premiere=$cPremiere \ editer_nombre_tirages_aleatoires=FAUX \ editer_choix_subdivision_suppression=VRAI \ editer_choix_subdivision_suppression_simplifiee=VRAI \ editer_choix_subdivision_suppression_simplifiee_parenthesee=VRAI \ $_____ParamMenger \ R=$FMeNgErSeCtIoNs. \ Zmin=$cPremiere \ Zmax=$cDerniere \ $formatI \ >& $FMeNgErReGlEs.1 set B01="[01]" set B9=" " set A09="$Alphabet_0_9" set TaB1="__" set TaB2="`echo $TaB1 | $SE -e 's/./ /g'`" $CA $FMeNgErReGlEs.1 \ | \ $xcp/substitue.01$X \ c00="\n\( *$B01$B01*\)\n *\((\[[$A09]*\]\)\n *\($B01$B01$B01$B01$B01$B01*\)\n *\()\)" s00="\n\1\2\3\4" \ \ c10="\(\n *\)\($B01\)\($B01\)\((\)" s10="\1\2\1\3 \4" \ c11="\(\n *\)\($B01\)\($B01\)\($B01\)\((\)" s11="\1\2\1\3\1\4\5" \ c12="\(\n *\)\($B01\)\($B01\)\($B01\)\($B01\)\((\)" s12="\1\2\1\3\1\4\1\5\6" \ \ c20="\($B01\)\((\)" s20="\1 \2" \ c21="\(\n *$B01\)\n *\((\)" s21="\1 \2" \ c22="\(\]\)\([^ ]\)" s22="\1 \2" \ c23="\( \)\()\n\)" s23="\1$TaB1\2" \ c24="^\((\)" s24="$TaB1\1" \ c25="\(\n\)\()\n\)" s25="\1$TaB1\2" \ c26="\(\n *\)\($B01\) \((\[[$A09][$A09]*\] *\)\n" s26="\1\2\1$TaB1\3\n" \ \ c30="\(\n\) \($B9""[^ ]\)" s30="\1.\2" \ c31="\(\n\) \($B9\) \($B9""[^ ]\)" s31="\1.\2.\3" \ c32="\(\n\) \($B9\) \($B9\) \($B9""[^ ]\)" s32="\1.\2.\3.\4" \ c33="\(\n\) \($B9\) \($B9\) \($B9\) \($B9""[^ ]\)" s33="\1.\2.\3.\4.\5" \ c34="\(\n\) \($B9\) \($B9\) \($B9\) \($B9\) \($B9""[^ ]\)" s34="\1.\2.\3.\4.\5.\6" \ c35="\(\n\) \($B9\) \($B9\) \($B9\) \($B9\) \($B9\) \($B9""[^ ]\)" s35="\1.\2.\3.\4.\5.\6.\7" \ \ c40=" *\(\n\)" s40="\1" \ > $FMeNgErReGlEs.2 if ($_____Comptage == $EXIST) then set Xmul=" x " $CA $FMeNgErReGlEs.2 | \ $UNI -c | \ $SE \ -e "s/^ *\([$A09][$A09]*\) *\(.*\)"'$'"/\2$Xmul\1/" \ -e "s/\($TaB1)\)$Xmul""[$A09][$A09]*"'$/\1/' \ -e "s/\(\[[$A09][$A09]*\]\)$Xmul""[$A09][$A09]*"'$/\1/' \ -e "s/$TaB1/$TaB2/g" \ > $FMeNgErReGlEs.3 else $CA $FMeNgErReGlEs.2 | \ $SE \ -e "s/$TaB1/$TaB2/g" \ > $FMeNgErReGlEs.3 endif $CA $FMeNgErReGlEs.3 # Presentation tabulee des regles de definition de l'Eponge de Menger... # FilSTmpE FMeNgErReGlEs FilSTmpE FMeNgErSeCtIoNs