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