#######################################################################################################################################
#                                                                                                                                     #
#         G E N E R A T I O N   D ' U N   " R O B E R T   &   S O N I A   D E L A U N A Y "  :                                        #
#                                                                                                                                     #
#                                                                                                                                     #
#         Author of '$xiirv/.DELA.11.1.$U' :                                                                                          #
#                                                                                                                                     #
#                     Jean-Francois COLONNA (LACTAMME, 20220628104423).                                                               #
#                                                                                                                                     #
#######################################################################################################################################

#20220628152824____:$Z                  setParam            _____Fond                     $NOIR                                       #
$Z                  setParam            _____Fond                     $BLANC

#20220628152732____:$Z                  setParam            _____Nombre                   20                                          #
#20220629080156____:$Z                  setParam            _____Nombre                   40                                          #
#20220629095043____:$Z                  setParam            _____Nombre                   20                                          #
$Z                  setParam            _____Nombre                   40

$Z                  setParam            _____GraineX                  1789

$Z                  setParam            _____GraineY                  1947

$Z                  setParam            _____GraineR                  2001
#20220628153840____:$Z                  setParam            _____MinimumT                 16                                          #
#20220628182038____:$Z                  setParam            _____MinimumR                 2                                           #
#20220628183622____:$Z                  setParam            _____MinimumR                 5                                           #
#20220629080156____:$Z                  setParam            _____MinimumR                 8                                           #
#20220629093621____:$Z                  setParam            _____MinimumR                 5.5                                         #
$Z                  setParam            _____MinimumG                 5.0
#20220628181554____:$Z                  setParam            _____MaximumR                 8                                           #
#20220628182038____:$Z                  setParam            _____MaximumR                 6                                           #
#20220628183622____:$Z                  setParam            _____MaximumR                 8                                           #
#20220629080156____:$Z                  setParam            _____MaximumR                 3                                           #
#20220629093621____:$Z                  setParam            _____MaximumR                 2.6                                         #
$Z                  setParam            _____MaximumG                 1.6
$Z                                      # Le rayon de chaque disque sera egal a 2.71828 eleve a une puissance aleatoire comprise      #
$Z                                      # dans [$_____MaximumG,$_____MinimumG]...                                                     #
$Z                                      #                                                                                             #
$Z                                      # On notera qu'un temps [$_____MaximumG,$_____MinimumG] definissait l'amplitude de tirage     #
$Z                                      # aleatoire des rayons eux-memes. Cela faisait que il y avait tres peu de petits rayons...    #
$Z                                      #                                                                                             #
$Z                                      # On notera aussi la relation d'ordre inversee entre '$_____MinimumG' et '$_____MaximumG'     #
$Z                                      # qui vient du fait de la definition du champ gaussien (une exponentielle de MOINS quelque    #
$Z                                      # chose, d'ou l'inversion...).                                                                #

$Z                  setParam            _____Seuil                    $GRIS_3

$Z                  setParam            _____GraineQ                  1515
#20220628153840____:$Z                  setParam            _____MinimumQ                 0.04                                        #
$Z                  setParam            _____MinimumQ                 0.01
#20220628153840____:$Z                  setParam            _____MaximumQ                 0.20                                        #
$Z                  setParam            _____MaximumQ                 0.05

$Z                  setParam            _____GraineP                  2061

$Z                  setParam            _____GraineF                  3001

$Z                  set                 FoRmE_circulaire='arithmetique_etendue_gauss=FAUX'
$Z                  set                 FoRmE_carree='arithmetique_etendue_gauss=VRAI pxADD2_ADD2=0 pxMIN2_ADD2=0 pxMAX2_ADD2=1'

$Z                  set                 LFoRmEs="$K_VIDE"
$Z                  set                 LFoRmEs=($LFoRmEs '$FoRmE_circulaire')
$Z                  set                 LFoRmEs=($LFoRmEs '$FoRmE_circulaire')
$Z                  set                 LFoRmEs=($LFoRmEs '$FoRmE_circulaire')
$Z                  set                 LFoRmEs=($LFoRmEs '$FoRmE_circulaire')
$Z                  set                 LFoRmEs=($LFoRmEs '$FoRmE_circulaire')
$Z                  set                 LFoRmEs=($LFoRmEs '$FoRmE_circulaire')
$Z                  set                 LFoRmEs=($LFoRmEs '$FoRmE_circulaire')
$Z                  set                 LFoRmEs=($LFoRmEs '$FoRmE_circulaire')
#20220628181554____:$Z                  set                 LFoRmEs=($LFoRmEs '$FoRmE_carree')                                        #
$Z                  set                 LFoRmEs=($LFoRmEs '$FoRmE_circulaire')
$Z                  set                 LFoRmEs=($LFoRmEs '$FoRmE_circulaire')
$Z                  set                 LFoRmEs=($LFoRmEs '$FoRmE_circulaire')
$Z                  set                 LFoRmEs=($LFoRmEs '$FoRmE_circulaire')
$Z                  set                 LFoRmEs=($LFoRmEs '$FoRmE_circulaire')
$Z                  set                 LFoRmEs=($LFoRmEs '$FoRmE_circulaire')
$Z                  set                 LFoRmEs=($LFoRmEs '$FoRmE_circulaire')
$Z                  set                 LFoRmEs=($LFoRmEs '$FoRmE_circulaire')
$Z                                      # La liste '$LFoRmEs' est arbitraire et permet de definir la proportion de gaussiennes        #
$Z                                      # circulaires (via '$FoRmE_circulaire') et de gaussiennes carrees (via '$FoRmE_carree')...    #

$Z                  set                 LPaLeTtEs="$K_VIDE"
$Z                  set                 LPaLeTtEs=($LPaLeTtEs arc_ciel.C1)
$Z                  set                 LPaLeTtEs=($LPaLeTtEs fractal.B2)
$Z                  set                 LPaLeTtEs=($LPaLeTtEs rouge_vert)
$Z                  set                 LPaLeTtEs=($LPaLeTtEs trou_noir.11)
$Z                  set                 LPaLeTtEs=($LPaLeTtEs inter.02.11)
$Z                  set                 LPaLeTtEs=($LPaLeTtEs inter.02.12)
$Z                  set                 LPaLeTtEs=($LPaLeTtEs random.06)
$Z                  set                 LPaLeTtEs=($LPaLeTtEs random.86)
$Z                  set                 LPaLeTtEs=($LPaLeTtEs random.A5)
$Z                  set                 LPaLeTtEs=($LPaLeTtEs random.B3$Fi)
$Z                  set                 LPaLeTtEs=($LPaLeTtEs random.B7$Fi)
$Z                  set                 LPaLeTtEs=($LPaLeTtEs PEA3.35)
$Z                  set                 LPaLeTtEs=($LPaLeTtEs RubikSCube.02)
$Z                  set                 LPaLeTtEs=($LPaLeTtEs inter.02.21)
$Z                  set                 LPaLeTtEs=($LPaLeTtEs rac3.12)

$Z                  set                 CoMpTeUr=1

$Z                  set                 ArGs1="$K_VIDE"
$Z                  set                 ArGs1="$ArGs1"" premiere=1 derniere=$_____Nombre"

$Z                  set                 MinXY=-0.5
$Z                  set                 MaxXY=+0.5

$Z                  set                 MaxG=$_____MinimumG
$Z                  set                 MinG=$_____MaximumG

$Z                  set                 MinQ=$_____MinimumQ
$Z                  set                 MaxQ=$_____MaximumQ

$Z                  set                 LCeNtRe_X=`$xci/valeurs_alea$X inferieur=$MinXY superieur=$MaxXY $ArGs1 graine=$_____GraineX`
$Z                  set                 LCeNtRe_Y=`$xci/valeurs_alea$X inferieur=$MinXY superieur=$MaxXY $ArGs1 graine=$_____GraineY`
$Z                  set                 LCGaUsS=`$xci/valeurs_alea$X inferieur=$MinG superieur=$MaxG $ArGs1 graine=$_____GraineR`
$Z                  set                 QuAnTiF=`$xci/valeurs_alea$X inferieur=$MinQ superieur=$MaxQ $ArGs1 graine=$_____GraineQ`

$Z                  set                 ArGs2="$K_VIDE"
$Z                  set                 ArGs2="$ArGs2"" $ArGs1"
$Z                  set                 ArGs2="$ArGs2"" entiers=VRAI"
$Z                  set                 ArGs2="$ArGs2"" mbse=FAUX"
$Z                  set                 ArGs2="$ArGs2"" signe="$K_VIDE""
$Z                  set                 NPaLeTtE=`$xci/valeurs_alea$X inferieur=1 superieur=$#LPaLeTtEs $ArGs2 graine=$_____GraineP`
$Z                  set                 NFoRmE=`$xci/valeurs_alea$X inferieur=1 superieur=$#LFoRmEs $ArGs2 graine=$_____GraineF`

$Z        execRVB   $xci/init$X                                                                                                         \
$Z                                      niveau=$_____Fond                                                                               \
$Z                                      R=$_____ImageR%s                                                                                \
$Z                                                                                                  $formatI

$Z                  while               ($CoMpTeUr <= $_____Nombre)
$Z                                      FilSTmpB            GaUsS
$Z                                      FilSTmpB            PaLeTtE

$Z                                      $xciP/S_NIVEAU$X                                                                                \
$Z                                                          pA=$LPaLeTtEs[$NPaLeTtE[$CoMpTeUr]]                                         \
$Z                                                          niveau=$NOIR                                                                \
$Z                                                          nR=$NOIR                                                                    \
$Z                                                          nV=$NOIR                                                                    \
$Z                                                          nB=$NOIR                                                                    \
$Z                                                          pR=$PaLeTtE

#20220629080156____:$Z                                      set                 RaYoN=`calcul pow(2,$LRaYoNs[$CoMpTeUr])`             #
$Z                                      set                 CGaUsS=`calcul pow($en,$LCGaUsS[$CoMpTeUr])`
$Z                                      # Le rayon de chaque disque sera egal a 2.71828 eleve a une puissance aleatoire comprise      #
$Z                                      # dans [$_____MaximumG,$_____MinimumG]...                                                     #
$Z                                      #                                                                                             #
$Z                                      # On notera qu'un temps [$_____MaximumG,$_____MinimumG] definissait l'amplitude de tirage     #
$Z                                      # aleatoire des rayons eux-memes. Cela faisait que il y avait tres peu de petits rayons...    #
$Z                                      #                                                                                             #
$Z                                      # On notera aussi la relation d'ordre inversee entre '$_____MinimumG' et '$_____MaximumG'     #
$Z                                      # qui vient du fait de la definition du champ gaussien (une exponentielle de MOINS quelque    #
$Z                                      # chose, d'ou l'inversion...).                                                                #

$Z                                      set                 FoRmE=`eval echo "$LFoRmEs[$NFoRmE[$CoMpTeUr]]"`

$Z                                      $xci/gauss$X                                                                                    \
$Z                                                          c=$CGaUsS                                                                   \
$Z                                                          TRANSLATION_OX=$LCeNtRe_X[$CoMpTeUr]                                        \
$Z                                                          TRANSLATION_OY=$LCeNtRe_Y[$CoMpTeUr]                                        \
$Z                                                          $FoRmE                                                                      \
$Z                                                                                                                      $formatI  |     \
$Z                                      $xci/passe_bande$X                                                                              \
$Z                                                          seuil_inferieur=$_____Seuil                                                 \
$Z                                                          seuil_superieur=$BLANC                                                      \
$Z                                                                                                                      $formatI  |     \
$Z                                      $xci/scale$X                                                                                    \
$Z                                                          a=$QuAnTiF[$CoMpTeUr]                                                       \
$Z                                                          message_hors_NOIR_BLANC=FAUX                                                \
$Z                                                                                                                      $formatI  |     \
$Z                                      $xci/scale$X                                                                                    \
$Z                                                          a=`calcul 1/$QuAnTiF[$CoMpTeUr]`                                            \
$Z                                                          message_hors_NOIR_BLANC=FAUX                                                \
$Z                                                                                                                      $formatI  |     \
$Z                                      $xci/vraies_C$X                                                                                 \
$Z                                                          p=$PaLeTtE                                                                  \
$Z                                                          R=$GaUsS                                                                    \
$Z                                                                                                                      $formatI

#20220630114446____:$Z                                      $xci/cache.21$Z     $_____ImageR $GaUsS $_____ImageR                      #
$Z                            execZ     $xci/cache.21$Z     $_____ImageR $GaUsS $_____ImageR
$Z                                      # L'introduction de 'execZ' le 20220630114446 a permis, avec '$_____Nombre=10' et en          #
$Z                                      # mode 'Std', de passer de 00:00:38 a 00:00:20 secondes ! Avec '$_____Nombre=40' et en        #
$Z                                      # mode 'Squ', le temps de calcul est passe de 00:02:56 a 00:01:37 secondes !                  #

$Z                                      FilSTmpE            GaUsS
$Z                                      FilSTmpE            PaLeTtE

$Z                                      @                   CoMpTeUr = $CoMpTeUr + 1
$Z                  end

$Z        execRVB   $xci/convol.01$X                                                                                                    \
$Z                                      A=$_____ImageR%s                                                                                \
$Z                                      points=25                                                                                       \
$Z                                      R=$_____ImageR%s                                                                                \
$Z                                                                                                  $formatI



Copyright © Jean-François COLONNA, 2022-2024.
Copyright © CMAP (Centre de Mathématiques APpliquées) UMR CNRS 7641 / École polytechnique, Institut Polytechnique de Paris, 2022-2024.