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