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



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.