####################################################################################################################################### # # # S I M U L A T I O N D E S P O M M I E R S D E M O N D R I A N : # # # # # # Author of '$xiirv/.POMM.11.1.$U' : # # # # Jean-Francois Colonna (LACTAMME, 20210525113645). # # # ####################################################################################################################################### $Z setParam _____NGenerations 50 $Z setParam _____PIterations 8 $Z # Parametre introduit le 20210602120112... # $Z setParam _____PGraine 1311 $Z # Parametre introduit le 20210602105007... # $Z setParam _____PMailleX 0.05 $Z # Parametre introduit le 20210602105007... # $Z setParam _____PMailleY 0.05 $Z # Parametre introduit le 20210602105007... # $Z setParam _____GParametres "$K_VIDE" $Z # Parametre introduit le 20210606105420... # $Z setParam _____PFX 0 $Z # Parametre introduit le 20210602120112... # $Z setParam _____PFY 0 $Z # Parametre introduit le 20210602120112... # $Z setParam _____GBorneInfCx2 1.0 $Z setParam _____GBorneSupCx2 8.0 $Z setParam _____GGraineCx2 1789 $Z setParam _____GBorneInfTrX -0.5 $Z setParam _____GBorneSupTrX +0.5 $Z setParam _____GGraineTrX 1515 $Z setParam _____GBorneInfCy2 1.0 $Z setParam _____GBorneSupCy2 8.0 $Z setParam _____GGraineCy2 1947 $Z setParam _____GBorneInfTrY -0.5 $Z setParam _____GBorneSupTrY +0.5 $Z setParam _____GGraineTrY 1941 $Z setParam _____GBandeInf 40 $Z setParam _____GBandeSup 45 $Z setParam _____FIterations 2 $Z setParam _____FGraine 2001 $Z setParam _____Distance_Cx2_Cy2 4.0 $Z # Parametre introduit le 20210526092519... # $Z setParam _____F1MailleX 0.2 $Z setParam _____F1MailleY 0.2 $Z setParam _____FBandeInf 80 $Z setParam _____FBandeSup 160 $Z setParam _____Diagonale FAUX $Z setParam _____OptimiserIncrement VRAI $Z setParam _____UtiliserTaille FAUX $Z setParam _____AvertirCouleurs VRAI $Z setParam _____NiveauInitial $NOIR_PLANCHER $Z setParam _____IncrementNiveau 1 $Z setParam _____NiveauAleatoire VRAI $Z setParam _____GraineNiveau 1821 $Z setParam _____F2MailleX 0.1 $Z setParam _____F2MailleY 0.1 $Z setParam _____CAlpha 0.9 $Z setParam _____CBeta 0.1 $Z setParam _____Npoints 9 $Z setParam _____PaletteP $xiP/Mondrian.31 $Z set LGBorneCx2=`$xci/valeurs_alea$X p=1 d=$_____NGenerations bi=$_____GBorneInfCx2 bs=$_____GBorneSupCx2 graine=$_____GGraineCx2` $Z set LGBorneTrX=`$xci/valeurs_alea$X p=1 d=$_____NGenerations bi=$_____GBorneInfTrX bs=$_____GBorneSupTrX graine=$_____GGraineTrX` $Z set LGBorneCy2=`$xci/valeurs_alea$X p=1 d=$_____NGenerations bi=$_____GBorneInfCy2 bs=$_____GBorneSupCy2 graine=$_____GGraineCy2` $Z set LGBorneTrY=`$xci/valeurs_alea$X p=1 d=$_____NGenerations bi=$_____GBorneInfTrY bs=$_____GBorneSupTrY graine=$_____GGraineTrY` $Z FileTmpB ImAgE $Z $xci/init$X \ $Z niveau=$NOIR \ $Z R=$ImAgE.GF \ $Z $formatI $Z IfBasic (`$xcg/IFNE.01.x x=$_____PFX y=0` == $EXIST) ThenBasic $Z $xci/fract_2D.01$X \ $Z graine=`calcul $_____PGraine+1` \ $Z mx=$_____PMailleX my=$_____PMailleY \ $Z iterations=$_____PIterations \ $Z editer_message_extrema=FAUX \ $Z R=$ImAgE.P$COORD_X \ $Z $formatI # La perturbation eventuelle des gaussiennes a ete introduite le 20210602105007... # $Z ElseBasic $Z $xci/init$X \ $Z niveau=$NOIR \ $Z R=$ImAgE.P$COORD_X \ $Z $formatI $Z EndifBasic $Z IfBasic (`$xcg/IFNE.01.x x=$_____PFY y=0` == $EXIST) ThenBasic $Z $xci/fract_2D.01$X \ $Z graine=`calcul $_____PGraine+7` \ $Z mx=$_____PMailleX my=$_____PMailleY \ $Z iterations=$_____PIterations \ $Z editer_message_extrema=FAUX \ $Z R=$ImAgE.P$COORD_Y \ $Z $formatI # La perturbation eventuelle des gaussiennes a ete introduite le 20210602105007... # $Z ElseBasic $Z $xci/init$X \ $Z niveau=$NOIR \ $Z R=$ImAgE.P$COORD_Y \ $Z $formatI $Z EndifBasic $Z set CoMpTeUr=1 $Z set FGrAiNe=$_____FGraine $Z while ($CoMpTeUr <= $_____NGenerations) $Z set CoEf_cx2=$LGBorneCx2[$CoMpTeUr] $Z set CoEf_cy2=$LGBorneCy2[$CoMpTeUr] $Z set DifF_cx2_cy2=`$xcg/SOUA.01$X x=$CoEf_cx2 y=$CoEf_cy2` $Z set MiN_cx2_cy2=`$xcg/MIN2.01$X x=$CoEf_cx2 y=$CoEf_cy2` $Z set MaX_cx2_cy2=`$xcg/MAX2.01$X x=$CoEf_cx2 y=$CoEf_cy2` $Z set SeUiL_cx2_cy2=$_____Distance_Cx2_Cy2 $Z set MiN_cx2_cy2_s2=`$xcg/MOIT.01$X a=$MiN_cx2_cy2` # Ce qui suit est destine a faire que 'cx2' et 'cy2' soient assez differents l'un de l'autre # # afin que la courbe engendree par 'v $xci/gauss$K' ci-apres soit differente d'un cercle... # $Z IfBasic (`$xcg/IFLT.01.x x=$DifF_cx2_cy2 y=$SeUiL_cx2_cy2` == $EXIST) ThenBasic $Z IfBasic (`$xcg/IFLT.01.x x=$CoEf_cx2 y=$CoEf_cy2` == $EXIST) ThenBasic $Z set CoEf_cx2=`$xcg/SOUS.01$X a=$CoEf_cx2 b=$MiN_cx2_cy2_s2` $Z set CoEf_cy2=`$xcg/ADD2.01$X a=$CoEf_cy2 b=$SeUiL_cx2_cy2` $Z set CoEf_cy2=`$xcg/SOUS.01$X a=$CoEf_cy2 b=$MiN_cx2_cy2_s2` $Z ElseBasic $Z set CoEf_cx2=`$xcg/ADD2.01$X a=$CoEf_cx2 b=$SeUiL_cx2_cy2` $Z set CoEf_cx2=`$xcg/SOUS.01$X a=$CoEf_cx2 b=$MiN_cx2_cy2_s2` $Z set CoEf_cy2=`$xcg/SOUS.01$X a=$CoEf_cy2 b=$MiN_cx2_cy2_s2` $Z EndifBasic $Z ElseBasic $Z EndifBasic $Z $xci/gauss$X \ $Z cx2=$CoEf_cx2 \ $Z cy2=$CoEf_cy2 \ $Z matrice=VRAI a11=1 a22=1 a33=1 \ $Z TRANSLATION_OX=$LGBorneTrX[$CoMpTeUr] \ $Z TRANSLATION_OY=$LGBorneTrY[$CoMpTeUr] \ $Z $_____GParametres \ $Z $formatI | \ $Z $xci/distord.01$X \ $Z fX=$_____PFX X=$ImAgE.P$COORD_X \ $Z fY=$_____PFY Y=$ImAgE.P$COORD_Y \ $Z $formatI | \ $Z $xci/passe_bande$X \ $Z seuil_inferieur=$_____GBandeInf \ $Z seuil_superieur=$_____GBandeSup \ $Z forcer_niveau_intermediaire=VRAI niveau_intermediaire=$BLANC \ $Z R=$ImAgE.G \ $Z $formatI $Z $xci/fract_2D.01$X \ $Z graine=$FGrAiNe \ $Z mx=$_____F1MailleX my=$_____F1MailleY \ $Z iterations=$_____FIterations \ $Z editer_message_extrema=FAUX \ $Z $formatI | \ $Z $xci/passe_bande$X \ $Z seuil_inferieur=$_____FBandeInf \ $Z seuil_superieur=$_____FBandeSup \ $Z forcer_niveau_intermediaire=VRAI niveau_intermediaire=$BLANC \ $Z R=$ImAgE.F \ $Z $formatI $Z if ($?_____Masque == $EXIST) then $Z $xci/and$X \ $Z A1=$ImAgE.F \ $Z A2=$_____Masque \ $Z R=$ImAgE.F \ $Z $formatI # La possibilite d'avoir un masque pre-calcule a ete introduite le 20210614135041... # $Z else $Z endif $Z $xci/and$X \ $Z A1=$ImAgE.G \ $Z A2=$ImAgE.F \ $Z $formatI | \ $Z $xci/or_02$X \ $Z A1=$ImAgE.GF \ $Z R=$ImAgE.GF \ $Z $formatI $Z @ FGrAiNe = $FGrAiNe + 1 $Z @ CoMpTeUr = $CoMpTeUr + 1 $Z end $Z set DiReCtIoN_1="$K_VIDE" $Z set DiReCtIoN_1="$DiReCtIoN_1"" est=VRAI" $Z set DiReCtIoN_1="$DiReCtIoN_1"" nord=VRAI" $Z set DiReCtIoN_1="$DiReCtIoN_1"" ouest=VRAI" $Z set DiReCtIoN_1="$DiReCtIoN_1"" sud=VRAI" $Z set DiReCtIoN_2="$K_VIDE" $Z set DiReCtIoN_2="$DiReCtIoN_2"" nord___est=$_____Diagonale" $Z set DiReCtIoN_2="$DiReCtIoN_2"" nord_ouest=$_____Diagonale" $Z set DiReCtIoN_2="$DiReCtIoN_2"" sud_ouest=$_____Diagonale" $Z set DiReCtIoN_2="$DiReCtIoN_2"" sud___est=$_____Diagonale" $Z $xci/contours.22$X \ $Z A=$ImAgE.GF \ $Z utiliser_taille=$_____UtiliserTaille \ $Z avertir_couleurs=$_____AvertirCouleurs \ $Z optimiser_increment=$_____OptimiserIncrement \ $Z niveau_initial=$_____NiveauInitial \ $Z increment_niveau=$_____IncrementNiveau \ $Z niveau_aleatoire=$_____NiveauAleatoire \ $Z graine_niveau_aleatoire=$_____GraineNiveau \ $Z $DiReCtIoN_1 \ $Z $DiReCtIoN_2 \ $Z R=$ImAgE.Contour \ $Z $formatI $Z $xci/fract_2D.01$X \ $Z graine=$FGrAiNe \ $Z mx=$_____F2MailleX my=$_____F2MailleY \ $Z R=$ImAgE.Fractal \ $Z $formatI $Z $xci/interpole.01$X \ $Z alpha=$_____CAlpha \ $Z A1=$ImAgE.Contour \ $Z beta=$_____CBeta \ $Z A2=$ImAgE.Fractal \ $Z R=$ImAgE.1 \ $Z $formatI $Z $xci/complement$X \ $Z A=$ImAgE.GF \ $Z R=$ImAgE.GF \ $Z $formatI $Z $xci/vraies_C$X \ $Z A=$ImAgE.1 \ $Z p=$_____PaletteP \ $Z R=$ImAgE.2 \ $Z $formatI $Z execRVB "$xci/and$X \ $Z A1=$ImAgE.GF \ $Z A2=$ImAgE.2%s \ $Z $formatI | \ $Z $xci/convol.01$X \ $Z points=$_____Npoints \ $Z R=$_____ImageR%s \ $Z $formatI" $Z FileTmpE ImAgE