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