####################################################################################################################################### # # # G E N E R A T I O N D ' U N P U Z Z L E : # # # # # # Author of '$xiirv/.PUZZ.11.1.$U' : # # # # Jean-Francois Colonna (LACTAMME, 20180618093247). # # # ####################################################################################################################################### $Z SETParam _____VraiesCouleurs $NEXIST $Z # Argument introduit le 20180621145712... # $Z setParam _____PaveX 32 $Z setParam _____PaveY 64 $Z SETParam _____FullRandom $EXIST $Z # Argument introduit le 20180623073616... # $Z setParam _____GraineX 1947 $Z setParam _____GraineY 1789 $Z SETParam _____Grille $NEXIST $Z SETParam _____Niveau $NOIR $Z setParam _____ParamsGrille "$K_VIDE" $Z # Argument introduit le 20180622132053... # $Z _____include(_____xiirv/.PUZZ.11.2._____U) $Z # Introduit le 20180624081358 a cause de 'v $xiirv/.PUZZ.11.1.$U 20180623120530'... # $Z if ($_____VraiesCouleurs == $EXIST) then $Z set GeNeRe="execRVB" $Z set PoStFiXe="%s" $Z # Cas des vraies couleurs (introduit le 20180621145712). # $Z else $Z set GeNeRe="eval" $Z set PoStFiXe="$K_VIDE" $Z # Cas des fausses couleurs (introduit le 20180621145712). # $Z endif $Z FileTmpB FCoOrDoNnEeS $Z set PaRaMeTrEs1="$K_VIDE" $Z set PaRaMeTrEs1="$PaRaMeTrEs1"" premiere=1" $Z set PaRaMeTrEs1="$PaRaMeTrEs1"" derniere=$tailleI" $Z $xci/valeurs_imag$X \ $Z $PaRaMeTrEs1 \ $Z denormalisees=VRAI \ $Z PX=1 PY=0 \ $Z > $FCoOrDoNnEeS.1$COORD_X $Z $xci/valeurs_imag$X \ $Z $PaRaMeTrEs1 \ $Z denormalisees=VRAI \ $Z PX=0 PY=1 \ $Z > $FCoOrDoNnEeS.1$COORD_Y $Z # Generation "sequentielle" des coordonnees 'X' et 'Y'. # $Z $xci/valeurs_imag$X \ $Z $PaRaMeTrEs1 \ $Z normalisees=VRAI \ $Z PX=1 PY=0 \ $Z > $FCoOrDoNnEeS.4$COORD_X $Z $xci/valeurs_imag$X \ $Z $PaRaMeTrEs1 \ $Z normalisees=VRAI \ $Z PX=0 PY=1 \ $Z > $FCoOrDoNnEeS.4$COORD_Y $Z # Introduit le 20180618161323 afin d'avoir des ccoordonnees 'X' et 'Y' normalisees # $Z # dans [0,1[ (et non pas dans [0,1]... # $Z unset PaRaMeTrEs1 $Z set PaRaMeTrEs1="$K_VIDE" $Z set PaRaMeTrEs1="$PaRaMeTrEs1"" ne=$tailleI" $Z $xrv/DivisionEuclidienne.11$X \ $Z $PaRaMeTrEs1 \ $Z fichier1=$FCoOrDoNnEeS.1$COORD_X \ $Z fichier2=$_____PaveX \ $Z pQ=1 pR=0 \ $Z > $FCoOrDoNnEeS.Q.1$COORD_X $Z $xrv/DivisionEuclidienne.11$X \ $Z $PaRaMeTrEs1 \ $Z fichier1=$FCoOrDoNnEeS.1$COORD_X \ $Z fichier2=$_____PaveX \ $Z pQ=0 pR=1 \ $Z > $FCoOrDoNnEeS.R.1$COORD_X $Z $xrv/DivisionEuclidienne.11$X \ $Z $PaRaMeTrEs1 \ $Z fichier1=$FCoOrDoNnEeS.1$COORD_Y \ $Z fichier2=$_____PaveY \ $Z pQ=1 pR=0 \ $Z > $FCoOrDoNnEeS.Q.1$COORD_Y $Z $xrv/DivisionEuclidienne.11$X \ $Z $PaRaMeTrEs1 \ $Z fichier1=$FCoOrDoNnEeS.1$COORD_Y \ $Z fichier2=$_____PaveY \ $Z pQ=0 pR=1 \ $Z > $FCoOrDoNnEeS.R.1$COORD_Y $Z # Decomposition des coordonnees 'X' et 'Y' en des coordonnees de blocs ("Q" pour "Quotient") # $Z # et des coordonnees a l'interieur de chaque bloc ("R" pour "Reste"). # $Z unset PaRaMeTrEs1 $Z set MiNiMuM_QX=`$CA $FCoOrDoNnEeS.Q.1$COORD_X | $xrv/extrema.01$X ne=0 fichier== minimum_seul=VRAI` $Z set MaXiMuM_QX=`$CA $FCoOrDoNnEeS.Q.1$COORD_X | $xrv/extrema.01$X ne=0 fichier== maximum_seul=VRAI` $Z set MiNiMuM_QY=`$CA $FCoOrDoNnEeS.Q.1$COORD_Y | $xrv/extrema.01$X ne=0 fichier== minimum_seul=VRAI` $Z set MaXiMuM_QY=`$CA $FCoOrDoNnEeS.Q.1$COORD_Y | $xrv/extrema.01$X ne=0 fichier== maximum_seul=VRAI` $Z set PaRaMeTrEs1="$K_VIDE" $Z set PaRaMeTrEs1="$PaRaMeTrEs1"" sans_collisions=VRAI" $Z set PaRaMeTrEs1="$PaRaMeTrEs1"" message_borne_superieure_entiere=FAUX" $Z set PaRaMeTrEs1="$PaRaMeTrEs1"" entier=VRAI" $Z set PaRaMeTrEs1="$PaRaMeTrEs1"" signe='$K_VIDE'" $Z # On notera qu'ainsi il ne peut y avoir deux valeurs aleatoires identiques, mais que par # $Z # contre il peut y en avoir deux (ou plus...) qui soient consecutives et qui vont donc # $Z # faire apparaitre dans '$_____ImageR' des blocs qui sont consecutifs (soit horizontalement, # $Z # soir verticalement) dans '$__ImageA'... # $Z if ($_____FullRandom == $EXIST) then $Z # Cas ou l'ensemble des coordonnees 'X' et 'Y' sont permutees aleatoirement (test introduit # $Z # le 20180623073822) : # $Z set DiMeNsIoN_QXY=`calcul ($MaXiMuM_QY-$MiNiMuM_QY)+1` $Z $xrv/AXPB.11$X \ $Z ne=$tailleI \ $Z fichierA=$DiMeNsIoN_QXY \ $Z fichier=$FCoOrDoNnEeS.Q.1$COORD_X \ $Z fichierB=$FCoOrDoNnEeS.Q.1$COORD_Y \ $Z > $FCoOrDoNnEeS.Q.1$COORD_X$COORD_Y $Z # Rappelons que l'indexation bidimensionnelle des images : # $Z # # $Z # image[Y][X] # $Z # # $Z # est du type monodimensionnel : # $Z # # $Z # image[(X*dimY)+Y] # $Z # # $Z set MiNiMuM_QXY=`$CA $FCoOrDoNnEeS.Q.1$COORD_X$COORD_Y | $xrv/extrema.01$X ne=0 fichier== minimum_seul=VRAI` $Z set MaXiMuM_QXY=`$CA $FCoOrDoNnEeS.Q.1$COORD_X$COORD_Y | $xrv/extrema.01$X ne=0 fichier== maximum_seul=VRAI` $Z $xci/valeurs_alea$X \ $Z $PaRaMeTrEs1 \ $Z premiere=$MiNiMuM_QXY derniere=$MaXiMuM_QXY \ $Z inferieur=$MiNiMuM_QXY superieur=$MaXiMuM_QXY \ $Z graine=`calcul $_____GraineX+$_____GraineY` \ $Z > $FCoOrDoNnEeS.Q.2$COORD_X$COORD_Y $Z # On notera le 20180623120530 que si, ci-dessus, on remplace '$xci/valeurs_alea$X' par # $Z # '$xci/valeurs_inte$X' par exemple avec 'v $xiirv/TROR.34', au lieu de retrouver a la # $Z # fin du processus cette meme image, on la retouve mais avec trois paves dupliques (et donc # $Z # trois paves qui manquent). Il s'agit des paves de numeros {30,58,61} (dans [0,116]). # $Z # # $Z # Cela est due au lambda de '$xci/valeurs_inte$K iINTERPOLATION_LINEAIRE' qui n'a pas # $Z # exactement la valeur attendue. Ce defaut disparait si l'on utilise au choix les arguments : # $Z # # $Z # entier=FAUX (un peu paradoxal...) # $Z # # $Z # ou encore : # $Z # # $Z # epsilon=0.0001 (par exemple...) # $Z # # $Z CheckUNI $FCoOrDoNnEeS.Q.2$COORD_X$COORD_Y $Z # Introduit le 20180624082221... # $Z $CA $FCoOrDoNnEeS.Q.2$COORD_X$COORD_Y | \ $Z $NL --starting-line-number=$MiNiMuM_QXY | \ $Z $AW ' { print "s/^." $1 "$""/" $2 "/" } ' \ $Z > $FCoOrDoNnEeS.Q.2$COORD_X$COORD_Y$sed $Z $CA $FCoOrDoNnEeS.Q.1$COORD_X$COORD_Y | \ $Z $SE -f $FCoOrDoNnEeS.Q.2$COORD_X$COORD_Y$sed \ $Z > $FCoOrDoNnEeS.Q.3$COORD_X$COORD_Y $Z set PaRaMeTrEs2="$K_VIDE" $Z set PaRaMeTrEs2="$PaRaMeTrEs2"" ne=$tailleI" $Z $xrv/DivisionEuclidienne.11$X \ $Z $PaRaMeTrEs2 \ $Z fichier1=$FCoOrDoNnEeS.Q.3$COORD_X$COORD_Y \ $Z fichier2=$DiMeNsIoN_QXY \ $Z pQ=1 pR=0 \ $Z > $FCoOrDoNnEeS.Q.3$COORD_X $Z $xrv/DivisionEuclidienne.11$X \ $Z $PaRaMeTrEs2 \ $Z fichier1=$FCoOrDoNnEeS.Q.3$COORD_X$COORD_Y \ $Z fichier2=$DiMeNsIoN_QXY \ $Z pQ=0 pR=1 \ $Z > $FCoOrDoNnEeS.Q.3$COORD_Y $Z unset PaRaMeTrEs2 $Z else $Z # Cas ou seules les valeurs differentes des coordonnees 'X' et 'Y' sont permutees # $Z # aleatoirement (test introduitle 20180623073822) : # $Z $xci/valeurs_alea$X \ $Z $PaRaMeTrEs1 \ $Z premiere=$MiNiMuM_QX derniere=$MaXiMuM_QX \ $Z inferieur=$MiNiMuM_QX superieur=$MaXiMuM_QX \ $Z graine=$_____GraineX \ $Z > $FCoOrDoNnEeS.Q.2$COORD_X $Z CheckUNI $FCoOrDoNnEeS.Q.2$COORD_X $Z # Introduit le 20180624082221... # $Z $xci/valeurs_alea$X \ $Z $PaRaMeTrEs1 \ $Z premiere=$MiNiMuM_QY derniere=$MaXiMuM_QY \ $Z inferieur=$MiNiMuM_QY superieur=$MaXiMuM_QY \ $Z graine=$_____GraineY \ $Z > $FCoOrDoNnEeS.Q.2$COORD_Y $Z CheckUNI $FCoOrDoNnEeS.Q.2$COORD_Y $Z # Introduit le 20180624082221... # $Z $CA $FCoOrDoNnEeS.Q.2$COORD_X | \ $Z $NL --starting-line-number=$MiNiMuM_QX | \ $Z $AW ' { print "s/^." $1 "$""/" $2 "/" } ' \ $Z > $FCoOrDoNnEeS.Q.2$COORD_X$sed $Z $CA $FCoOrDoNnEeS.Q.2$COORD_Y | \ $Z $NL --starting-line-number=$MiNiMuM_QY | \ $Z $AW ' { print "s/^." $1 "$""/" $2 "/" } ' \ $Z > $FCoOrDoNnEeS.Q.2$COORD_Y$sed $Z # Definition des permutations horizontales ('X') et verticales ('Y') des blocs... # $Z $CA $FCoOrDoNnEeS.Q.1$COORD_X | \ $Z $SE -f $FCoOrDoNnEeS.Q.2$COORD_X$sed \ $Z > $FCoOrDoNnEeS.Q.3$COORD_X $Z $CA $FCoOrDoNnEeS.Q.1$COORD_Y | \ $Z $SE -f $FCoOrDoNnEeS.Q.2$COORD_Y$sed \ $Z > $FCoOrDoNnEeS.Q.3$COORD_Y $Z endif $Z unset PaRaMeTrEs1 $Z set PaRaMeTrEs1="$K_VIDE" $Z set PaRaMeTrEs1="$PaRaMeTrEs1"" ne=$tailleI" $Z set MiNiMuM_X=`$CA $FCoOrDoNnEeS.4$COORD_X | $xrv/extrema.01$X ne=0 fichier== minimum_seul=VRAI` $Z set MaxiMuM_X=`$CA $FCoOrDoNnEeS.4$COORD_X | $xrv/extrema.01$X ne=0 fichier== maximum_seul=VRAI` $Z set MiNiMuM_Y=`$CA $FCoOrDoNnEeS.4$COORD_Y | $xrv/extrema.01$X ne=0 fichier== minimum_seul=VRAI` $Z set MaxiMuM_Y=`$CA $FCoOrDoNnEeS.4$COORD_Y | $xrv/extrema.01$X ne=0 fichier== maximum_seul=VRAI` $Z $xrv/AXPB.11$X \ $Z $PaRaMeTrEs1 \ $Z fichierA=$_____PaveX \ $Z fichier=$FCoOrDoNnEeS.Q.3$COORD_X \ $Z fichierB=$FCoOrDoNnEeS.R.1$COORD_X | \ $Z $xrv/normalise.01$X \ $Z $PaRaMeTrEs1 \ $Z minimum=$MiNiMuM_X maximum=$MaxiMuM_X \ $Z fichier== \ $Z > $FCoOrDoNnEeS.2$COORD_X $Z $xrv/AXPB.11$X \ $Z $PaRaMeTrEs1 \ $Z fichierA=$_____PaveY \ $Z fichier=$FCoOrDoNnEeS.Q.3$COORD_Y \ $Z fichierB=$FCoOrDoNnEeS.R.1$COORD_Y | \ $Z $xrv/normalise.01$X \ $Z $PaRaMeTrEs1 \ $Z minimum=$MiNiMuM_Y maximum=$MaxiMuM_Y \ $Z fichier== \ $Z > $FCoOrDoNnEeS.2$COORD_Y $Z # Generation des nouvelles coordonnees 'X' et 'Y' apres permutation (aleatoire) des blocs et # $Z # normalisees dans [0,1[ (et non pas dans [0,1]). Cette normalisation dans [0,1[ a remplace # $Z # celle dans [0,1] le 20180618161323... # $Z unset PaRaMeTrEs1 $Z $xrv/store_image$X \ $Z LISTE_X=$FCoOrDoNnEeS.4$COORD_X \ $Z Xnormalisees=VRAI \ $Z LISTE_Y=$FCoOrDoNnEeS.4$COORD_Y \ $Z Ynormalisees=VRAI \ $Z LISTE_NIVEAU=$FCoOrDoNnEeS.2$COORD_X \ $Z Nnormalises=VRAI \ $Z standard=FAUX \ $Z R=$FCoOrDoNnEeS.3$COORD_X \ $Z $formatI $Z $xrv/store_image$X \ $Z LISTE_X=$FCoOrDoNnEeS.4$COORD_X \ $Z Xnormalisees=VRAI \ $Z LISTE_Y=$FCoOrDoNnEeS.4$COORD_Y \ $Z Ynormalisees=VRAI \ $Z LISTE_NIVEAU=$FCoOrDoNnEeS.2$COORD_Y \ $Z Nnormalises=VRAI \ $Z standard=FAUX \ $Z R=$FCoOrDoNnEeS.3$COORD_Y \ $Z $formatI $Z $CA $xcs/csh$Y \ $Z > $FCoOrDoNnEeS.1$Y #20180625140507__:$Z echo "$GeNeRe $K_QD$xci/acces$X \c" >> $FCoOrDoNnEeS.1$Y # #20180625140507__:$Z echo " A=$_____ImageA$PoStFiXe \c" >> $FCoOrDoNnEeS.1$Y # #20180625140507__:$Z echo " convertir=VRAI \c" >> $FCoOrDoNnEeS.1$Y # #20180625140507__:$Z echo " $formatI | \c" >> $FCoOrDoNnEeS.1$Y # #20180625140507__:$Z echo " $xci/deformi.01$X \c" >> $FCoOrDoNnEeS.1$Y # #20180625140507__:$Z echo " DX=$FCoOrDoNnEeS.3$COORD_X \c" >> $FCoOrDoNnEeS.1$Y # #20180625140507__:$Z echo " DY=$FCoOrDoNnEeS.3$COORD_Y \c" >> $FCoOrDoNnEeS.1$Y # #20180625140507__:$Z echo " tridimensionnelle=FAUX \c" >> $FCoOrDoNnEeS.1$Y # #20180625140507__:$Z echo " ne_pas_interpoler=VRAI \c" >> $FCoOrDoNnEeS.1$Y # #20180625140507__:$Z echo " $formatI | \c" >> $FCoOrDoNnEeS.1$Y # #20180625140507__:$Z echo " $xci/acces$X \c" >> $FCoOrDoNnEeS.1$Y # #20180625140507__:$Z echo " standard=FAUX zero=FAUX \c" >> $FCoOrDoNnEeS.1$Y # #20180625140507__:$Z echo " R=$_____ImageR$PoStFiXe \c" >> $FCoOrDoNnEeS.1$Y # #20180625140507__:$Z echo " $formatI$K_QD" >> $FCoOrDoNnEeS.1$Y # #20180626161309__:$Z echo "$GeNeRe $K_QD$xci/acces$X \c" >> $FCoOrDoNnEeS.1$Y # #20180626161309__:$Z echo " A=$_____ImageA$PoStFiXe \c" >> $FCoOrDoNnEeS.1$Y # #20180626161309__:$Z echo " convertir=VRAI \c" >> $FCoOrDoNnEeS.1$Y # #20180626161309__:$Z echo " $formatI | \c" >> $FCoOrDoNnEeS.1$Y # #20180626161309__:$Z echo " $xci/deformi.01$X \c" >> $FCoOrDoNnEeS.1$Y # #20180626161309__:$Z echo " DX=$FCoOrDoNnEeS.3$COORD_X \c" >> $FCoOrDoNnEeS.1$Y # #20180626161309__:$Z echo " DY=$FCoOrDoNnEeS.3$COORD_Y \c" >> $FCoOrDoNnEeS.1$Y # #20180626161309__:$Z echo " tridimensionnelle=FAUX \c" >> $FCoOrDoNnEeS.1$Y # #20180626161309__:$Z echo " ne_pas_interpoler=VRAI \c" >> $FCoOrDoNnEeS.1$Y # #20180626161309__:$Z echo " $formatI | \c" >> $FCoOrDoNnEeS.1$Y # #20180626161309__:$Z echo " $xci/acces$X \c" >> $FCoOrDoNnEeS.1$Y # #20180626161309__:$Z echo " standard=FAUX brutal=VRAI \c" >> $FCoOrDoNnEeS.1$Y # #20180626161309__:$Z echo " R=$_____ImageR$PoStFiXe \c" >> $FCoOrDoNnEeS.1$Y # #20180626161309__:$Z echo " $formatI$K_QD" >> $FCoOrDoNnEeS.1$Y # $Z setenv PaRaMeTrEs1 "$K_VIDE" $Z setenv PaRaMeTrEs1 "$PaRaMeTrEs1"" A=$_____ImageA$PoStFiXe" $Z setenv PaRaMeTrEs1 "$PaRaMeTrEs1"" Prme=VRAI" $Z setenv PaRaMeTrEs1 "$PaRaMeTrEs1"" coordonnees=FAUX" $Z echo "$GeNeRe $K_QD$xci/acces$X \c" >> $FCoOrDoNnEeS.1$Y $Z echo " A=$_____ImageA$PoStFiXe \c" >> $FCoOrDoNnEeS.1$Y $Z echo " convertir=VRAI \c" >> $FCoOrDoNnEeS.1$Y $Z echo " $formatI | \c" >> $FCoOrDoNnEeS.1$Y $Z echo " $xci/deformi.01$X \c" >> $FCoOrDoNnEeS.1$Y $Z echo " DX=$FCoOrDoNnEeS.3$COORD_X \c" >> $FCoOrDoNnEeS.1$Y $Z echo " DY=$FCoOrDoNnEeS.3$COORD_Y \c" >> $FCoOrDoNnEeS.1$Y $Z echo " tridimensionnelle=FAUX \c" >> $FCoOrDoNnEeS.1$Y $Z echo " ne_pas_interpoler=VRAI \c" >> $FCoOrDoNnEeS.1$Y $Z echo " $formatI | \c" >> $FCoOrDoNnEeS.1$Y $Z echo " $xci/acces$X \c" >> $FCoOrDoNnEeS.1$Y $Z echo " standard=FAUX zero=FAUX \c" >> $FCoOrDoNnEeS.1$Y $Z echo "$K_QD$K_QS"'rNOIR=`$xci/extrema$X '"$PaRaMeTrEs1"' min=VRAI max=FAUX $formatI`'"$K_QS$K_QD \c" >> $FCoOrDoNnEeS.1$Y $Z echo "$K_QD$K_QS"'rBLANC=`$xci/extrema$X '"$PaRaMeTrEs1"' min=FAUX max=VRAI $formatI`'"$K_QS$K_QD \c" >> $FCoOrDoNnEeS.1$Y $Z echo " R=$_____ImageR$PoStFiXe \c" >> $FCoOrDoNnEeS.1$Y $Z echo " $formatI$K_QD" >> $FCoOrDoNnEeS.1$Y $Z # Le passage par un '$Y' est rendu necessaire par l'eventuel 'execRVB' et la '$K_QD' qui # $Z # doit le suivre... # $Z # # $Z # On notera le 20180623120530 que si on a remplace '$xci/valeurs_alea$X' par # $Z # '$xci/valeurs_inte$X', en prenant les precautions evoquees plus haut, par exemple avec # $Z # 'v $xiirv/TROR.34' on ne la retrouve pas exactement ici (mais presque...) et ce a cause # $Z # des approximations faites dans 'v $xci/deformi.01$K'... # $Z # # $Z # On notera le 20180625134109 un chose tres importante : dans le mode vraies couleurs # $Z # (voir '$_____VraiesCouleurs') les trois composantes de '$_____ImageR' sont renormalisees # $Z # ci-dessus independamment les unes des autres, d'ou de possibles "catastrophes" comme cela # $Z # s'est vu en essayant avec 'v $xiia/SPIR.71$m.1'. D'ou l'introduction de "brutal=VRAI" qui # $Z # permet de maintenir les extrema de '$_____ImageA' dans '$_____ImageR' (le 20180626131715). # $Z # # $Z # Le 20180626161309, j'ai reussi a implementer quelque chose de plus general ou "rNOIR=" # $Z # et "rBLANC=" sont calcules dynamiquement. En contre-partie, les choses se sont compliquees # $Z # au niveau de l'usage des '$K_QD's et des '$K_QS'... En particulier la grande difficulte # $Z # fut de forcer l'execution des '$xci/extrema$X' pour initialiser "rNOIR=" et "rBLANC=" # $Z # a l'interieur de l'execution de '$GeNeRe' (et donc dans un '$SHELL_SH') et non pas avant # $Z # lors de la generation de son argument (la grande commande qui suit...). # $Z unsetenv PaRaMeTrEs1 $Z source $FCoOrDoNnEeS.1$Y $Z # Et enfin, permutation des blocs... # $Z if ($_____Grille == $EXIST) then $Z $CA $xcs/csh$Y \ $Z > $FCoOrDoNnEeS.2$Y $Z echo "$GeNeRe $K_QD$xci/grille.01$X \c" >> $FCoOrDoNnEeS.2$Y $Z echo " A=$_____ImageR$PoStFiXe \c" >> $FCoOrDoNnEeS.2$Y $Z echo " denormalisees=VRAI \c" >> $FCoOrDoNnEeS.2$Y $Z echo " mx=$_____PaveX my=$_____PaveY \c" >> $FCoOrDoNnEeS.2$Y $Z echo " Xig=-1 Xid=0 \c" >> $FCoOrDoNnEeS.2$Y $Z echo " Yib=-1 Yih=0 \c" >> $FCoOrDoNnEeS.2$Y $Z echo " niveau=$_____Niveau \c" >> $FCoOrDoNnEeS.2$Y $Z echo " $_____ParamsGrille \c" >> $FCoOrDoNnEeS.2$Y $Z echo " R=$_____ImageR$PoStFiXe \c" >> $FCoOrDoNnEeS.2$Y $Z echo " $formatI$K_QD" >> $FCoOrDoNnEeS.2$Y $Z # Le passage par un '$Y' est rendu necessaire par l'eventuel 'execRVB' et la '$K_QD' qui # $Z # doit le suivre... # $Z source $FCoOrDoNnEeS.2$Y $Z # Eventuellement, materialisation des blocs a l'aide d'une grille... # $Z else $Z endif $Z $xci/acces$X \ $Z A=$FCoOrDoNnEeS.3$COORD_X \ $Z standard=FAUX \ $Z zero=FAUX \ $Z R=$_____ImageR$COORD_X \ $Z $formatI $Z $xci/acces$X \ $Z A=$FCoOrDoNnEeS.3$COORD_Y \ $Z standard=FAUX \ $Z zero=FAUX \ $Z R=$_____ImageR$COORD_Y \ $Z $formatI $Z # Les deux champs de deformation sont memorises a compter du 20180628085020... # $Z FileTmpE FCoOrDoNnEeS