####################################################################################################################################### # # # G E N E R A T I O N D ' U N M A I L L A G E D E F O R M E : # # # # # # Author of '$xiirv/.MAIL.11.1.$U' : # # # # Jean-Francois Colonna (LACTAMME, 20150526084800). # # # ####################################################################################################################################### $Z setParam _____MaillageTri FAUX $Z # Parametre introduit le 20150608130856... # $Z setParam _____MaillageTriAlea FAUX $Z # Parametre introduit le 20150608130856... # $Z setParam _____MaillageTriMont VRAI $Z # Parametre introduit le 20150608130856... # $Z setParam _____MaillageTriDesc VRAI $Z # Parametre introduit le 20150608130856... # $Z setParam _____MaillageGraine 1947 $Z # Parametre introduit le 20150608130856... # $Z setParam _____ParamValeurs "$K_VIDE" $Z # Parametre introduit le 20171109141609... # $Z setParam _____Z2D 0 $Z # Parametre introduit le 20150618102052... # $Z SETParam _____Optimise $NEXIST $Z # Parametre introduit le 20150617125917... # $Z setParam _____OIterations 1000 $Z # Parametre introduit le 20150617133413... # $Z SETParam _____OConnexions $NEXIST $Z # Parametre introduit le 20150619110956... # $Z setParam _____OSommerDistances FAUX $Z # Parametre introduit le 20150619110956... # $Z setParam _____Pppp `GetParam $xrv/optimise.23$X probabilite_perturber_point` $Z # Parametre introduit le 20150705093201... # $Z setParam _____Pprbs `GetParam $xrv/optimise.23$X probabilite_refuser_bonne_solution` $Z # Parametre introduit le 20150705093201... # $Z setParam _____Ppams `GetParam $xrv/optimise.23$X probabilite_accepter_mauvaise_solution` $Z # Parametre introduit le 20150705093201... # $Z SETParam _____Spherique $NEXIST $Z # Parametre introduit le 20150601133419... # $Z setParam _____SpheriqueEtendue FAUX $Z # Parametre introduit le 20150602154955... # $Z setParam _____NExtension `GetParam $xrv/particule.10$X extension_spheriques` $Z # Parametre introduit le 20150602154955... # $Z # # $Z # Les extensions disponibles sont : # $Z # # $Z # 1 = ellipsoide ('v $xrv/particule.10$K EXTENSION_ellipsoid) # $Z # 2 = hyperboloide ('v $xrv/particule.10$K EXTENSION_hyperboloid) # $Z # 3 = cylindre ('v $xrv/particule.10$K EXTENSION_cylindre) # $Z # 4 = tore ('v $xrv/particule.10$K EXTENSION_tore) # $Z # 5 = Mobius2D ('v $xrv/particule.10$K EXTENSION_Mobius2D) # $Z # 6 = project2D ('v $xrv/particule.10$K EXTENSION_project2D) # $Z # # $Z # (voir a ce propos 'v $xrv/particule.10$K nom_des_EXTENSIONS_DES_COORDONNEES_SPHERIQUES'). # $Z setParam _____SpheriqueP01 `GetParam $xrv/particule.10$X parametre_01` $Z # Parametre introduit le 20150602154955... # $Z setParam _____SpheriqueP02 `GetParam $xrv/particule.10$X parametre_02` $Z # Parametre introduit le 20150602154955... # $Z setParam _____SpheriqueP03 `GetParam $xrv/particule.10$X parametre_03` $Z # Parametre introduit le 20150602154955... # $Z setParam _____SpheriqueP04 `GetParam $xrv/particule.10$X parametre_04` $Z # Parametre introduit le 20150602154955... # $Z setParam _____SpheriqueP05 `GetParam $xrv/particule.10$X parametre_05` $Z # Parametre introduit le 20150602154955... # $Z setParam _____ONormaliseX 0 $Z # Parametre introduit le 20150603090805... # $Z setParam _____ENormaliseX $pi $Z # Parametre introduit le 20150602134902... # $Z # # $Z # La coordonnee 'X' va donc etre associee a 'THETA' dans [0,pi]. # $Z setParam _____ONormaliseY 0 $Z # Parametre introduit le 20150603090805... # $Z setParam _____ENormaliseY $dpi $Z # Parametre introduit le 20150602134902... # $Z # # $Z # La coordonnee 'Y' va donc etre associee a 'PHI' dans [0,2.pi]. # $Z setParam _____ONormaliseZ 0 $Z # Parametre introduit le 20150603090805... # $Z setParam _____ENormaliseZ 1 $Z # Parametre introduit le 20150602134902... # $Z # # $Z # La coordonnee 'Z' va donc etre associee a 'RAYON' dans [0,1]. # $Z SETParam _____Periodise $NEXIST $Z # Parametre introduit le 20150603155343... # $Z setParam _____AlphaX 1.1 $Z setParam _____BetaX -0.05 $Z setParam _____AlphaY 1.1 $Z setParam _____BetaY -0.05 $Z setParam _____AlphaZ 1.1 $Z setParam _____BetaZ -0.05 $Z # On notera que {{AlphaX,BetaX},{AlphaY,BetaY},{AlphaZ,BetaZ}} ont des valeurs par defaut # $Z # telles que le carre "exterieur" ait un cote superieur a 1 (egal a 1.1) tout en etant # $Z # centre via les translations de -0.05. Ainsi, ce carre "exterieur" ne sera pas deforme, # $Z # seul la plus grande partie de son interieur le sera... # $Z setParam _____DistanceMini 0.005 $Z setParam _____Cubique FAUX $Z setParam _____GDerivees 1.0 $Z setParam _____VRayon 0.008 $Z setParam _____Palette $xiP/arc_ciel.C1 $Z setParam _____Grossissement 2.0 $Z setParam _____DepthCueing `GetParam $xrv/particule.10$X Zminimum` $Z # Parametre introduit le 20150530112354... # $Z # # $Z # On rappelle que : # $Z # # $Z # _____DepthCueing=1 : pas de depth-cueing, # $Z # _____DepthCueing=0 : depth-cueing maximal. # $Z # # $Z setParam _____Speculaire `GetParam $xrv/particule.10$X speculaire` $Z setParam _____Zoom 0.95 $Z setParam _____RotationX 0 $Z setParam _____RotationY 0 $Z setParam _____RotationZ 0 $Z setParam _____NAuCarre FAUX $Z setParam _____ParticulePara1 "$K_VIDE" $Z FilSTmpB FiLePoInTs $Z SformatI $Z XYmaxNe $_____MailleX $_____MailleY $Z set AVaLeUrS="$K_VIDE" $Z set AVaLeUrS="$AVaLeUrS"" maillage=VRAI" $Z set AVaLeUrS="$AVaLeUrS"" maillage_triangulaire=$_____MaillageTri" $Z set AVaLeUrS="$AVaLeUrS"" maillage_triangulaire_aleatoire=$_____MaillageTriAlea" $Z set AVaLeUrS="$AVaLeUrS"" graine=$_____MaillageGraine" $Z set AVaLeUrS="$AVaLeUrS"" maillage_triangulaire_montant=$_____MaillageTriMont" $Z set AVaLeUrS="$AVaLeUrS"" maillage_triangulaire_descendant=$_____MaillageTriDesc" $Z set AVaLeUrS="$AVaLeUrS"" origine_extremite_meme_ligne=VRAI" $Z set AVaLeUrS="$AVaLeUrS"" $_____ParamValeurs" $Z # La reference a '$_____ParamValeurs' a ete introduite le 20171109141609... # $Z if ($_____Dimension == 2) then $Z set NPoInTsMaXiMuM=`calcul ($_____MailleX+1)*($_____MailleY+1)*4*2` $Z # Je rappelle le 20171109110625 que c'est 'v $xci/valeurs_imag$K' qui genere le maillage # $Z # rectangulaire ou triangulaire... # $Z $xci/valeurs_imag$X \ $Z premiere=1 derniere=$NPoInTsMaXiMuM \ $Z PX=1 PY=0 \ $Z $AVaLeUrS \ $Z $formatI \ $Z >>! $FiLePoInTs.1$COORD_X $Z $xci/valeurs_imag$X \ $Z premiere=1 derniere=$NPoInTsMaXiMuM \ $Z PX=0 PY=1 \ $Z $AVaLeUrS \ $Z $formatI \ $Z >>! $FiLePoInTs.1$COORD_Y $Z # La possibilite de maillages triangulaires montant et descendant a ete introduite le # $Z # 20150530102042. On notera alors que le maillage n'est plus plan car, en effet, les # $Z # aretes montantes et descendantes se croisent alors... # $Z $PAST $FiLePoInTs.1$COORD_X $FiLePoInTs.1$COORD_Y | \ $Z $R "$K_TAB" "$K_BLANC" | \ $Z $SOR -u \ $Z >>! $FiLePoInTs.2 $Z # Ainsi, on supprime les segments {{XA,YA},{XB,YB}} redondants (on notera que ci-dessus # $Z # la manipulation porte en fait sur des listes du type {{XA,XB},{YA,YB}}...). # $Z $CA $FiLePoInTs.2 | \ $Z $AW ' { print $1 " " $2 } ' | \ $Z $R "$K_BLANC" "$K_NL" \ $Z >>! $FiLePoInTs.2$COORD_X $Z $CA $FiLePoInTs.2 | \ $Z $AW ' { print $3 " " $4 } ' | \ $Z $R "$K_BLANC" "$K_NL" \ $Z >>! $FiLePoInTs.2$COORD_Y $Z $PAST $FiLePoInTs.2$COORD_X $FiLePoInTs.2$COORD_Y | \ $Z $SE -e 's/^.*$'"/$_____Z2D/" \ $Z >>! $FiLePoInTs.2$COORD_Z $Z else $Z # Je rappelle le 20171109110625 que c'est 'v $xci/valeurs_imag$K' qui genere le maillage # $Z # parallelepipedique ou triangulaire... # $Z $xci/valeurs_albu$X \ $Z PX=1 PY=0 PZ=0 \ $Z $AVaLeUrS \ $Z $formatI Zmax=$_____MailleZ \ $Z >>! $FiLePoInTs.1$COORD_X $Z $xci/valeurs_albu$X \ $Z PX=0 PY=1 PZ=0 \ $Z $AVaLeUrS \ $Z $formatI Zmax=$_____MailleZ \ $Z >>! $FiLePoInTs.1$COORD_Y $Z $xci/valeurs_albu$X \ $Z PX=0 PY=0 PZ=1 \ $Z $AVaLeUrS \ $Z $formatI Zmax=$_____MailleZ \ $Z >>! $FiLePoInTs.1$COORD_Z $Z $PAST $FiLePoInTs.1$COORD_X $FiLePoInTs.1$COORD_Y $FiLePoInTs.1$COORD_Z | \ $Z $R "$K_TAB" "$K_BLANC" | \ $Z $SOR -u \ $Z >>! $FiLePoInTs.2 $Z # Ainsi, on supprime les segments {{XA,YA,ZA},{XB,YB,ZB}} redondants (on notera que ci-dessus # $Z # la manipulation porte en fait sur des listes du type {{XA,XB},{YA,YB},{ZA,ZB}}...). # $Z $CA $FiLePoInTs.2 | \ $Z $AW ' { print $1 " " $2 } ' | \ $Z $R "$K_BLANC" "$K_NL" \ $Z >>! $FiLePoInTs.2$COORD_X $Z $CA $FiLePoInTs.2 | \ $Z $AW ' { print $3 " " $4 } ' | \ $Z $R "$K_BLANC" "$K_NL" \ $Z >>! $FiLePoInTs.2$COORD_Y $Z $CA $FiLePoInTs.2 | \ $Z $AW ' { print $5 " " $6 } ' | \ $Z $R "$K_BLANC" "$K_NL" \ $Z >>! $FiLePoInTs.2$COORD_Z $Z endif $Z RformatI $Z set NPoInTsX=`$CA $FiLePoInTs.2$COORD_X | $WCl` $Z set NPoInTsY=`$CA $FiLePoInTs.2$COORD_Y | $WCl` $Z set NPoInTsZ=`$CA $FiLePoInTs.2$COORD_Z | $WCl` $Z set NPoInTs=`$xcg/MIN3.01$X x=$NPoInTsX y=$NPoInTsY z=$NPoInTsZ signe="$K_VIDE"` $Z if ($_____Periodise == $EXIST) then $Z # Possibilite introduite le 20150603155343... # $Z $xci/periodise.11$X \ $Z A=$xTV/DEFORMATION. \ $Z postfixe=$COORD_X premiere=0 \ $Z standard=FAUX \ $Z R=$xTV/DEFORMATION. \ $Z $formatI Zmax=$_____MailleZ $Z $xci/periodise.11$X \ $Z A=$xTV/DEFORMATION. \ $Z postfixe=$COORD_Y premiere=0 \ $Z standard=FAUX \ $Z R=$xTV/DEFORMATION. \ $Z $formatI Zmax=$_____MailleZ $Z $xci/periodise.11$X \ $Z A=$xTV/DEFORMATION. \ $Z postfixe=$COORD_Z premiere=0 \ $Z standard=FAUX \ $Z R=$xTV/DEFORMATION. \ $Z $formatI Zmax=$_____MailleZ $Z # Pour les objets "periodiques" (comme un tore, il peut etre utile de periodiser les # $Z # champs de deformation : 'v $xiirv/MAI3.72' ou 'v $xiirv/MAI3.72' par exemple)... # $Z else $Z endif $Z set ANoRmAlIsE="ne=0 fichier==" $Z if ($_____Spherique == $NEXIST) then $Z # Possibilite introduite le 20150601133419... # $Z set NoRmAlIsE_X="$xrv/neutre$X $ANoRmAlIsE" $Z set NoRmAlIsE_Y="$xrv/neutre$X $ANoRmAlIsE" $Z set NoRmAlIsE_Z="$xrv/neutre$X $ANoRmAlIsE" $Z else $Z if ($_____Periodise == $NEXIST) then $Z # Possibilite introduite le 20150604132634... # $Z set PeRiOdIsE_XY="$K_VIDE" $Z else $Z set PeRiOdIsE_XY="normaliser=FAUX AXPB=VRAI" $Z # Un probleme est apparu avec l'image 'v $xiirv/MAI3.72' qui presente un tore dont le # $Z # maillage est deforme fractalement. La coordonnee 'Y' est dans '[0,1] avant deformation. # $Z # Il s'agit en fait de la future coordonnee 'PHI' qui est a priori dans [0,2.pi], mais doit # $Z # pouvoir en sortir lors de la deformation et ce afin de garantir la periodicite et donc le # $Z # bon refermement du tore... # $Z endif $Z set NoRmAlIsE_X="$K_VIDE" $Z set NoRmAlIsE_X="$NoRmAlIsE_X"" $xrv/normalise.01$X $ANoRmAlIsE" $Z set NoRmAlIsE_X="$NoRmAlIsE_X"" origine=$_____ONormaliseX" $Z set NoRmAlIsE_X="$NoRmAlIsE_X"" extremite=$_____ENormaliseX" $Z set NoRmAlIsE_X="$NoRmAlIsE_X"" $PeRiOdIsE_XY" $Z # La coordonnee 'X' va donc etre associee a 'THETA' dans [0,pi]. # $Z set NoRmAlIsE_Y="$K_VIDE" $Z set NoRmAlIsE_Y="$NoRmAlIsE_Y"" $xrv/normalise.01$X $ANoRmAlIsE" $Z set NoRmAlIsE_Y="$NoRmAlIsE_Y"" origine=$_____ONormaliseY" $Z set NoRmAlIsE_Y="$NoRmAlIsE_Y"" extremite=$_____ENormaliseY" $Z set NoRmAlIsE_Y="$NoRmAlIsE_Y"" $PeRiOdIsE_XY" $Z # La coordonnee 'Y' va donc etre associee a 'PHI' dans [0,2.pi]. # $Z set NoRmAlIsE_Z="$K_VIDE" $Z set NoRmAlIsE_Z="$NoRmAlIsE_Z"" $xrv/normalise.01$X $ANoRmAlIsE" $Z set NoRmAlIsE_Z="$NoRmAlIsE_Z"" origine=$_____ONormaliseZ" $Z set NoRmAlIsE_Z="$NoRmAlIsE_Z"" extremite=$_____ENormaliseZ" $Z set NoRmAlIsE_Z="$NoRmAlIsE_Z"" ignorer_uniformite=FAUX vu=$_____ENormaliseZ" $Z # La coordonnee 'Z' va donc etre associee a 'RAYON' dans [0,1]. # $Z endif $Z set ADeFoRmE="$K_VIDE" $Z set ADeFoRmE="$ADeFoRmE"" ne=$NPoInTs" $Z set ADeFoRmE="$ADeFoRmE"" alpha_X=$_____AlphaX beta_X=$_____BetaX" $Z set ADeFoRmE="$ADeFoRmE"" LISTE_X=$FiLePoInTs.2$COORD_X" $Z set ADeFoRmE="$ADeFoRmE"" alpha_Y=$_____AlphaY beta_Y=$_____BetaY" $Z set ADeFoRmE="$ADeFoRmE"" LISTE_Y=$FiLePoInTs.2$COORD_Y" $Z set ADeFoRmE="$ADeFoRmE"" alpha_Z=$_____AlphaZ beta_Z=$_____BetaZ" $Z set ADeFoRmE="$ADeFoRmE"" LISTE_Z=$FiLePoInTs.2$COORD_Z" $Z set ADeFoRmE="$ADeFoRmE"" DX=$xTV/DEFORMATION. postfixeDX=$COORD_X prDX=0" $Z set ADeFoRmE="$ADeFoRmE"" DY=$xTV/DEFORMATION. postfixeDY=$COORD_Y prDY=0" $Z set ADeFoRmE="$ADeFoRmE"" DZ=$xTV/DEFORMATION. postfixeDZ=$COORD_Z prDZ=0" $Z $xrv/deforme.11$X \ $Z $ADeFoRmE \ $Z PX=1 PY=0 PZ=0 \ $Z $formatI Zmax=$_____MailleZ | \ $Z $NoRmAlIsE_X \ $Z >>! $FiLePoInTs.3$COORD_X $Z $xrv/deforme.11$X \ $Z $ADeFoRmE \ $Z PX=0 PY=1 PZ=0 \ $Z $formatI Zmax=$_____MailleZ | \ $Z $NoRmAlIsE_Y \ $Z >>! $FiLePoInTs.3$COORD_Y $Z $xrv/deforme.11$X \ $Z $ADeFoRmE \ $Z PX=0 PY=0 PZ=1 \ $Z $formatI Zmax=$_____MailleZ | \ $Z $NoRmAlIsE_Z \ $Z >>! $FiLePoInTs.3$COORD_Z $Z if ($_____Optimise == $EXIST) then $Z # Possibilite introduite le 20150617125917... # $Z $PAST $FiLePoInTs.3$COORD_X $FiLePoInTs.3$COORD_Y $FiLePoInTs.3$COORD_Z | \ $Z $SOR -u | \ $Z $R "$K_TAB" "$K_BLANC" \ $Z > $FiLePoInTs.4 $Z # Construction de la liste des points differents (en effet dans '$FiLePoInTs.3' chaque point # $Z # apparait en general plusieurs fois et ce dans des mailles differentes mais adjacentes. # $Z set NSuBsTiTuTiOnS=`$CA $FiLePoInTs.4 | $WCl` $Z $CA $FiLePoInTs.4 | \ $Z $AW ' { print $1 } ' \ $Z > $FiLePoInTs.4$COORD_X $Z $CA $FiLePoInTs.4 | \ $Z $AW ' { print $2 } ' \ $Z > $FiLePoInTs.4$COORD_Y $Z $CA $FiLePoInTs.4 | \ $Z $AW ' { print $3 } ' \ $Z > $FiLePoInTs.4$COORD_Z $Z if ($_____OConnexions == $NEXIST) then $Z # Possibilite introduite le 20150619110956... # $Z set AOpTiMiSe="connexions=FAUX" $Z @ NCoNnExIoNs = $NPoInTs / 1 $Z else $Z set AUnSuRn="Men_tete=FAUX paquets=2" $Z set PaIrS="premier=VRAI dernier=FAUX" $Z set ImPaIrS="premier=FAUX dernier=VRAI" $Z $xrv/un_sur_N.01$X \ $Z ne=0 \ $Z fichier=$FiLePoInTs.3$COORD_X \ $Z $AUnSuRn \ $Z $PaIrS \ $Z >>! $FiLePoInTs.A$COORD_X $Z $xrv/un_sur_N.01$X \ $Z ne=0 \ $Z fichier=$FiLePoInTs.3$COORD_Y \ $Z $AUnSuRn \ $Z $PaIrS \ $Z >>! $FiLePoInTs.A$COORD_Y $Z $xrv/un_sur_N.01$X \ $Z ne=0 \ $Z fichier=$FiLePoInTs.3$COORD_Z \ $Z $AUnSuRn \ $Z $PaIrS \ $Z >>! $FiLePoInTs.A$COORD_Z $Z # Recuperation de l'origine 'A' d'un segment. # $Z $xrv/un_sur_N.01$X \ $Z ne=0 \ $Z fichier=$FiLePoInTs.3$COORD_X \ $Z $AUnSuRn \ $Z $ImPaIrS \ $Z >>! $FiLePoInTs.B$COORD_X $Z $xrv/un_sur_N.01$X \ $Z ne=0 \ $Z fichier=$FiLePoInTs.3$COORD_Y \ $Z $AUnSuRn \ $Z $ImPaIrS \ $Z >>! $FiLePoInTs.B$COORD_Y $Z $xrv/un_sur_N.01$X \ $Z ne=0 \ $Z fichier=$FiLePoInTs.3$COORD_Z \ $Z $AUnSuRn \ $Z $ImPaIrS \ $Z >>! $FiLePoInTs.B$COORD_Z $Z # Recuperation de l'origine 'B' d'un segment. # $Z set AOpTiMiSe="$K_VIDE" $Z set AOpTiMiSe="$AOpTiMiSe"" connexions=VRAI" $Z set AOpTiMiSe="$AOpTiMiSe"" CONNEXION_XA=$FiLePoInTs.A$COORD_X" $Z set AOpTiMiSe="$AOpTiMiSe"" CONNEXION_YA=$FiLePoInTs.A$COORD_Y" $Z set AOpTiMiSe="$AOpTiMiSe"" CONNEXION_ZA=$FiLePoInTs.A$COORD_Z" $Z set AOpTiMiSe="$AOpTiMiSe"" CONNEXION_XB=$FiLePoInTs.B$COORD_X" $Z set AOpTiMiSe="$AOpTiMiSe"" CONNEXION_YB=$FiLePoInTs.B$COORD_Y" $Z set AOpTiMiSe="$AOpTiMiSe"" CONNEXION_ZB=$FiLePoInTs.B$COORD_Z" $Z @ NCoNnExIoNs = $NPoInTs / 2 $Z endif $Z $xrv/optimise.23$X ne=$NSuBsTiTuTiOnS \ $Z nc=$NCoNnExIoNs \ $Z LISTE_X=$FiLePoInTs.4$COORD_X \ $Z LISTE_Y=$FiLePoInTs.4$COORD_Y \ $Z LISTE_Z=$FiLePoInTs.4$COORD_Z \ $Z sommer_distances=$_____OSommerDistances \ $Z probabilite_perturber_point=$_____Pppp \ $Z probabilite_refuser_bonne_solution=$_____Pprbs \ $Z probabilite_accepter_mauvaise_solution=$_____Ppams \ $Z message_trop_de_perturbations=FAUX \ $Z $AOpTiMiSe \ $Z iterations=$_____OIterations \ $Z > $FiLePoInTs.5 $Z # Tentative heuristique de l'equidistance des points voisins en coordonnees cartesiennes. # $Z $CA $FiLePoInTs.5 | \ $Z $AW ' { print $1 } ' | \ $Z $SE -e 's/^.*=//' \ $Z > $FiLePoInTs.6$COORD_X $Z $CA $FiLePoInTs.5 | \ $Z $AW ' { print $2 } ' | \ $Z $SE -e 's/^.*=//' \ $Z > $FiLePoInTs.6$COORD_Y $Z $CA $FiLePoInTs.5 | \ $Z $AW ' { print $3 } ' | \ $Z $SE -e 's/^.*=//' \ $Z > $FiLePoInTs.6$COORD_Z $Z $xrv/substitue.11.x ne=$NPoInTs ns=$NSuBsTiTuTiOnS \ $Z LISTE_X=$FiLePoInTs.3$COORD_X \ $Z LISTE_Y=$FiLePoInTs.3$COORD_Y \ $Z LISTE_Z=$FiLePoInTs.3$COORD_Z \ $Z RECHERCHER_OX=$FiLePoInTs.4$COORD_X \ $Z RECHERCHER_OY=$FiLePoInTs.4$COORD_Y \ $Z RECHERCHER_OZ=$FiLePoInTs.4$COORD_Z \ $Z SUBSTITUTION_OX=$FiLePoInTs.6$COORD_X \ $Z SUBSTITUTION_OY=$FiLePoInTs.6$COORD_Y \ $Z SUBSTITUTION_OZ=$FiLePoInTs.6$COORD_Z \ $Z pX=1 pY=0 pZ=0 \ $Z > $FiLePoInTs.7$COORD_X $Z # Deplacement selon 'OX' de chacun des points en fonction de l'heuristique precedente... # $Z $xrv/substitue.11.x ne=$NPoInTs ns=$NSuBsTiTuTiOnS \ $Z LISTE_X=$FiLePoInTs.3$COORD_X \ $Z LISTE_Y=$FiLePoInTs.3$COORD_Y \ $Z LISTE_Z=$FiLePoInTs.3$COORD_Z \ $Z RECHERCHER_OX=$FiLePoInTs.4$COORD_X \ $Z RECHERCHER_OY=$FiLePoInTs.4$COORD_Y \ $Z RECHERCHER_OZ=$FiLePoInTs.4$COORD_Z \ $Z SUBSTITUTION_OX=$FiLePoInTs.6$COORD_X \ $Z SUBSTITUTION_OY=$FiLePoInTs.6$COORD_Y \ $Z SUBSTITUTION_OZ=$FiLePoInTs.6$COORD_Z \ $Z pX=0 pY=1 pZ=0 \ $Z > $FiLePoInTs.7$COORD_Y $Z # Deplacement selon 'OY' de chacun des points en fonction de l'heuristique precedente... # $Z $xrv/substitue.11.x ne=$NPoInTs ns=$NSuBsTiTuTiOnS \ $Z LISTE_X=$FiLePoInTs.3$COORD_X \ $Z LISTE_Y=$FiLePoInTs.3$COORD_Y \ $Z LISTE_Z=$FiLePoInTs.3$COORD_Z \ $Z RECHERCHER_OX=$FiLePoInTs.4$COORD_X \ $Z RECHERCHER_OY=$FiLePoInTs.4$COORD_Y \ $Z RECHERCHER_OZ=$FiLePoInTs.4$COORD_Z \ $Z SUBSTITUTION_OX=$FiLePoInTs.6$COORD_X \ $Z SUBSTITUTION_OY=$FiLePoInTs.6$COORD_Y \ $Z SUBSTITUTION_OZ=$FiLePoInTs.6$COORD_Z \ $Z pX=0 pY=0 pZ=1 \ $Z > $FiLePoInTs.7$COORD_Z $Z # Deplacement selon 'OZ' de chacun des points en fonction de l'heuristique precedente... # $Z $DELETE $FiLePoInTs.3$COORD_X $Z $DELETE $FiLePoInTs.3$COORD_Y $Z $DELETE $FiLePoInTs.3$COORD_Z $Z $MV $FiLePoInTs.7$COORD_X $FiLePoInTs.3$COORD_X $Z $MV $FiLePoInTs.7$COORD_Y $FiLePoInTs.3$COORD_Y $Z $MV $FiLePoInTs.7$COORD_Z $FiLePoInTs.3$COORD_Z $Z # Et on fait "comme si de rien n'etait"... # $Z else $Z endif $Z if ($_____Spherique == $NEXIST) then $Z # Possibilite introduite le 20150601133419... # $Z set APaRtIcUlE="$K_VIDE" $Z set APaRtIcUlE="$APaRtIcUlE"" LISTE_X=$FiLePoInTs.3$COORD_X" $Z set APaRtIcUlE="$APaRtIcUlE"" LISTE_Y=$FiLePoInTs.3$COORD_Y" $Z set APaRtIcUlE="$APaRtIcUlE"" LISTE_Z=$FiLePoInTs.3$COORD_Z" $Z # Cas d'une representation euclidienne {X,Y,Z}. # $Z else $Z set APaRtIcUlE="$K_VIDE" $Z set APaRtIcUlE="$APaRtIcUlE"" spheriques=VRAI" $Z set APaRtIcUlE="$APaRtIcUlE"" spheriques_etendues=$_____SpheriqueEtendue" $Z set APaRtIcUlE="$APaRtIcUlE"" AXYZ=1 BXYZ=0" $Z set APaRtIcUlE="$APaRtIcUlE"" LISTE_THETA=$FiLePoInTs.3$COORD_X" $Z set APaRtIcUlE="$APaRtIcUlE"" LISTE_PHI=$FiLePoInTs.3$COORD_Y" $Z set APaRtIcUlE="$APaRtIcUlE"" LISTE_RHO=$FiLePoInTs.3$COORD_Z" $Z # Cas d'une representation spherique {RHO,THETA,PHI}. # $Z set APaRtIcUlE="$APaRtIcUlE"" extension_spheriques=$_____NExtension" $Z set APaRtIcUlE="$APaRtIcUlE"" parametre_01=$_____SpheriqueP01" $Z set APaRtIcUlE="$APaRtIcUlE"" parametre_02=$_____SpheriqueP02" $Z set APaRtIcUlE="$APaRtIcUlE"" parametre_03=$_____SpheriqueP03" $Z set APaRtIcUlE="$APaRtIcUlE"" parametre_04=$_____SpheriqueP04" $Z set APaRtIcUlE="$APaRtIcUlE"" parametre_05=$_____SpheriqueP05" $Z # Aux cas ou il y aurait extension des coordonnees spheriques... # $Z endif $Z $xci/valeurs_inte$X \ $Z premiere=1 derniere=$NPoInTs \ $Z lineaire=VRAI \ $Z vD=$NOIR_PLANCHER vA=$BLANC \ $Z entiers=VRAI \ $Z $formatI Zmax=$_____MailleZ \ $Z >>! $FiLePoInTs.3$NIVEAU $Z $xrv/particule.10$X npoints=$NPoInTs \ $Z $APaRtIcUlE \ $Z isoles=FAUX chainer=FAUX \ $Z ajuster_points=VRAI \ $Z equidistance=VRAI \ $Z distance_minimale=$_____DistanceMini \ $Z cubique=$_____Cubique \ $Z LISTE_dX=$_____GDerivees \ $Z LISTE_dY=$_____GDerivees \ $Z LISTE_dZ=$_____GDerivees \ $Z projection_parallele=FAUX \ $Z Vrayon=$_____VRayon \ $Z LISTE_NIVEAU=$FiLePoInTs.3$NIVEAU \ $Z p=$_____Palette \ $Z grossissement=$_____Grossissement \ $Z Lz=1000 \ $Z speculaire=$_____Speculaire \ $Z Zminimum=$_____DepthCueing ZminimumT=$_____DepthCueing \ $Z Zmaximum=1 ZmaximumT=1 \ $Z ZOOM=$_____Zoom \ $Z ROTATION_OX=$_____RotationX \ $Z ROTATION_OY=$_____RotationY \ $Z ROTATION_OZ=$_____RotationZ \ $Z N_au_carre=$_____NAuCarre \ $Z editer_extrema_hors=FAUX \ $Z editer_mauvais_encadrement_niveaux_interpoles=FAUX \ $Z $_____ParticulePara1 \ $Z chiffres=0 \ $Z R=$_____ImageR \ $Z $formatI $Z FilSTmpE FiLePoInTs