####################################################################################################################################### # # # Z O O M S U R L ' E N S E M B L E D E M A N D E L B R O T : # # # # # # Author of '$xiirc/.MAND.3.11.$U' : # # # # Jean-Francois COLONNA (LACTAMME, 20091111101226). # # # ####################################################################################################################################### $Z setParam _____Xarrivee -0.15293 $Z setParam _____Yarrivee +1.03980 $Z setParam _____Lissage 16 $Z setParam _____NPoints1 9 $Z # Le changement de nom a eu lieu le 20110217094524... # $Z setParam _____NPoints2 9 $Z # Le changement de nom a eu lieu le 20110217094524... # $Z setParam _____ModulerTexture $NEXIST $Z # Parametre introduit le 20110215160459... # $Z setParam _____PourcentageSeuil 22 $Z # Parametre introduit le 20110216170514... # $Z setParam _____NiveauInferieur 100 $Z # Parametre introduit le 20110215160459... # $Z setParam _____Echelle -0.25 $Z setParam _____Ty 1.1 $Z setParam _____Perspective 1 $Z setParam _____DepthCueing `GetParam $xci/montagne.01$K depth` $Z # Parametre introduit le 20110217134201... # $Z setParam _____MinDepthCueing `GetParam $xci/montagne.01$K min` $Z # Parametre introduit le 20110217134201... # $Z setParam _____Ptexture $xiP/fractal.B2 $Z setParam _____Brume $EXIST $Z # Parametre introduit le 20110217185404... # $Z setParam _____Pbrume $xiP/gris.05 $Z # Les palettes {$xiP/gris.05,...,$xiP/gris.08} sont en particulier appropriees... # $Z setParam _____ModulerBrume $NEXIST $Z # Parametre introduit le 20110217210121. S'il vaut '$EXIST', alors '$_____ModulationBrume' # $Z # contient l'image en vraies couleurs de la modulation de la brume... # $Z setParam _____Redimensionner $EXIST $Z # Parametre introduit le 20110218092441... # #20110218094149____:$Z @ Nimages = $Derniere - $Premiere # #20110218094149____:$Z @ Nimages = $Nimages + 1 # #20110217090912____:$Z Pal # $Z set _____imagesS=$xTV/MAND.S $Z SET _____imagesT=$xTV/MAND.T $Z $xrc/mandel.01$X \ $Z xbga=$_____Xarrivee ybga=$_____Yarrivee \ $Z xhda=$_____Xarrivee yhda=$_____Yarrivee \ $Z premiere=$Premiere \ $Z N=$Nimages \ $Z arguments=FAUX \ $Z R=$_____imagesS. \ $Z $formatI $Z $xrc/mandel.01$X \ $Z xbga=$_____Xarrivee ybga=$_____Yarrivee \ $Z xhda=$_____Xarrivee yhda=$_____Yarrivee \ $Z premiere=$Premiere \ $Z N=$Nimages \ $Z arguments=VRAI \ $Z R=$_____imagesT. \ $Z $formatI $Z $xci/vraies_C.01$X \ $Z A=$_____imagesT. \ $Z premiere=$Premiere derniere=$Derniere \ $Z RVB=VRAI \ $Z p=$_____Ptexture \ $Z R=$_____imagesT. \ $Z $formatI $Z set MiNiMuM=0 $Z set MaxiMuM=1 $Z @ XminR = $Xmin $Z @ XmaxR = $Xmax - 20 $Z @ YminR = $Ymin $Z @ YmaxR = $Ymax - 20 $Z # Le redimensionnement par '$xci/format.01$X' est destine a compenser les effets de bord de # $Z # '$xci/lissage$X' qui sont ainsi elimines... # $Z set FoRmAt_IMA="$formatI" $Z set FoRmAtR_IMA=`echo "$formatI" | $SE "s/\(=\)/R\1/g"` $Z # Introduits le 20110217091415... # $Z set PHiStOgRaMmE="$K_VIDE" $Z set PHiStOgRaMmE="$PHiStOgRaMmE"" alpha_numerique=VRAI" $Z set PHiStOgRaMmE="$PHiStOgRaMmE"" editer_uniquement_niveau_seuil=VRAI" $Z set PHiStOgRaMmE="$PHiStOgRaMmE"" seuil_histogramme_cumule_pourcentage=VRAI" $Z set PHiStOgRaMmE="$PHiStOgRaMmE"" pourcentage_histogramme_cumule=$_____PourcentageSeuil" $Z set PHiStOgRaMmE="$PHiStOgRaMmE"" Prme=VRAI" $Z # Introduit le 20110216170514... # $c #define N0 Premiere $c #define N Derniere $c $c #define Facteur0 0.0 $c #define FacteurN 1.0 $c $c #define SEUIL 240 $c $c int main() $c { $c int n; $c $c for (n=N0 ; n<=N ; n++) $c { $c printf("$xci/acces$X $c A=$_____imagesS.%04d $c convertir=VRAI $c minimum=$MiNiMuM maximum=$MaxiMuM $c $formatI | $c $xci/lissage$X $c standard=FAUX $c passes=$_____Lissage $c R=$xTV/SURFACE $c $formatI\n" $c ,n $c ); $c $c printf("execRVB $xci/convol.01$X $c A=$_____imagesT.%04d%%s $c points=$_____NPoints1 $c R=$xTV/TEXTURE%%s $c $formatI\n" $c ,n $c ); $c /* Cette convolution a ete introduite le 20091111184047... */ $c $c printf("if ($_____ModulerTexture == $EXIST) then\n"); $c /* Sequence conditionnelle introduite le 20110215160459... */ $c printf(" set SeUiL=`$xci/histogramme$X $PHiStOgRaMmE A=$_____imagesS.%04d $formatI`\n" $c ,n $c ); $c printf(" set SeUiL=`echo %c$SeUiL%c | $SE -e 's/^[^(]*(//'`\n" $c ,'"','"' $c ); $c printf(" set SeUiL=`echo %c$SeUiL%c | $SE -e 's/^\\([^)]*\\)).*$/\\1/'`\n" $c ,'"','"' $c ); $c printf(" set SeUiL=`echo %c$SeUiL%c | $SE -e 's/^0*//'`\n" $c ,'"','"' $c ); $c printf(" $xci/seuil$X $c A=$_____imagesS.%04d $c seuil=$SeUiL $c inferieur=$_____NiveauInferieur $c R=$xTV/ATTENUATION $c $formatI\n" $c ,n $c ); $c printf(" execRVB %c$xci/multi_02.01$X $c A1=$xTV/ATTENUATION $c A2=$xTV/TEXTURE%%s $c renormaliser=FAUX $c $formatI | $c $xci/convol.01$X $c points=$_____NPoints2 $c circulaire=VRAI circulaire_optimale=VRAI $c R=$xTV/TEXTURE%%s $c $formatI%c\n" $c ,'"','"' $c ); $c /* La possibilite d'attenuer la texture en fonction de '$_____imagesS' a ete introduite */ $c /* le 20110215160459... */ $c printf("else\n"); $c printf("endif\n"); $c $c printf("set exec_aR='Z-Buffer=VRAI'\n"); $c printf("set exec_aV='Z-Buffer=FAUX'\n"); $c printf("set exec_aB='Z-Buffer=FAUX'\n"); $c /* Cela est du au parallelisme de 'execRVB' qui peut sinon provoquer de temps en temps le */ $c /* message : */ $c /* */ $c /* ... Le fichier de nom '.../Z_BUFFER' existe deja */ $c /* */ $c printf("execRVB $xci/montagne.01$X $c A=$xTV/SURFACE $c standard=FAUX zero=FAUX $c extrema=FAUX minimum_force=$MiNiMuM maximum_force=$MaxiMuM $c T=$xTV/TEXTURE%%s $c echelle=$_____Echelle $c Ty=$_____Ty $c perspective=$_____Perspective $c falaise=VRAI $c depth=$_____DepthCueing min=$_____MinDepthCueing $c R=$xTV/MONTAGNE%%s $c Z-Buffer=VRAI Z-Buffer_standard=VRAI $c Z=$xTV/Z_BUFFER $c $formatI\n" $c ,n $c ); $c $c printf("if ($_____Brume == $EXIST) then\n"); $c /* Sequence conditionnelle introduite le 20110217135102... */ $c printf(" $xci/complement$X $c A=$xTV/Z_BUFFER $c $formatI | $c $xci/substitue$X $c substitution=L_SUBSTITUTION_ROUGE $c p=$_____Pbrume $c $formatI | $c $xci/vraies_C$X $c p=$xiP/gris.01 $c R=$xTV/BRUME $c $formatI\n" $c ); $c $c printf(" if ($_____ModulerBrume == $EXIST) then\n"); $c /* Sequence conditionnelle introduite le 20110217210121... */ $c printf(" execRVB $xci/multi_02.01$X $c A1=$xTV/BRUME%%s $c A2=$_____ModulationBrume.%04d%%s $c R=$xTV/BRUME%%s $c $formatI\n" $c ,n $c ); $c /* Le 20110218094348 '$_____ModulationBrume' est devenue une sequence d'images... */ $c printf(" else\n"); $c printf(" endif\n"); $c $c printf(" $xci/vitre.53$Z $c $xTV/MONTAGNE $c $xTV/BRUME $c $_____imagesR$M.%04d\n" $c ,n $c ); $c printf("else\n"); $c printf(" execRVB $xci/neutre$X $c A=$xTV/MONTAGNE%%s $c R=$_____imagesR$M.%04d%%s $c $formatI\n" $c ,n $c ); $c printf("endif\n"); $c $c printf("if ($_____Redimensionner == $EXIST) then\n"); $c /* Sequence conditionnelle introduite le 20110218092441... */ $c printf(" execRVB $xci/format.01$X $c A=$_____imagesR$M.%04d%%s $c $FoRmAt_IMA $c mode=7 $c R=$_____imagesR$M.%04d%%s $c XminR=$XminR XmaxR=$XmaxR $c YminR=$YminR YmaxR=$YmaxR $c $formatI\n" $c ,n $c ,n $c ); $c printf(" execRVB $xci/format.01$X $c A=$_____imagesR$M.%04d%%s $c Xmin=$XminR Xmax=$XmaxR $c Ymin=$YminR Ymax=$YmaxR $c mode=2 $c R=$_____imagesR$M.%04d%%s $c $FoRmAtR_IMA\n" $c ,n $c ,n $c ); $c printf("else\n"); $c printf("endif\n"); $c } $c }