#######################################################################################################################################
# #
# D I S P O S I T I O N " H A R M O N I E U S E " D E P O I N T S S U R U N E S P H E R E #
# A V E C V I S U A L I S A T I O N D E L A S P H E R E : #
# #
# #
# Author of '$xiirs/.PSPH.61.1.$U' : #
# #
# John F. Colonna (LACTAMME, Fin_listG_xtc__PtsSphere_01_c #
# #
#######################################################################################################################################
$Z setParam _____Debut_listG "Debut_listG_xtc__PtsSphere_01_c__N26_1000000000"
$Z setParam _____Fin_listG "Fin_listG_xtc__PtsSphere_01_c__N26_1000000000"
$Z SETParam _____Rayon 1.0
$Z setParam _____NPoints 8
$Z SETParam _____Inversion $NEXIST
$Z # Parametre introduit le 20080328145004... #
$Z setParam _____InversionX 0
$Z # Parametre introduit le 20080328145004... #
$Z setParam _____InversionY 0
$Z # Parametre introduit le 20080328145004... #
$Z setParam _____InversionZ 1
$Z # Parametre introduit le 20080328145004... #
$Z SETParam _____CSpheriques $NEXIST
$Z # Parametre introduit le 20080313095345... #
$Z setParam _____IRotationX 0
$Z # Parametre introduit le 20080401145103... #
$Z setParam _____IRotationY 0
$Z # Parametre introduit le 20080401145103... #
$Z setParam _____IRotationZ 0
$Z # Parametre introduit le 20080401145103... #
$Z setParam _____NVoisins 3
$Z setParam _____Zoom 0.9
$Z setParam _____RotationOX 0
$Z setParam _____RotationOY 0
$Z setParam _____RotationOZ 0
$Z setParam _____Grossissement `GetParam $xrv/particule.10$X grossissement`
$Z setParam _____DepthCueing 1.0
$Z setParam _____RayonP 0.02
$Z setParam _____CouleurPR $GRIS_8
$Z setParam _____CouleurPV $GRIS_8
$Z setParam _____CouleurPB $GRIS_8
$Z setParam _____RayonS 0.01
$Z setParam _____CouleurSR $GRIS_8
$Z setParam _____CouleurSV $GRIS_5
$Z setParam _____CouleurSB $GRIS_0
$Z $DELETE $xTV/COORDONNEES
$Z (listMN $xtc/PtsSphere.01$c $_____Debut_listG $_____Fin_listG) \
$Z | $GRE -v '^ */\* *\*/$' \
$Z | $SE -e "s+^ */\* *\([^ ]\)+\1+" \
$Z -e 's+\([^ ]\) *\*/+\1+' \
$Z > $xTV/COORDONNEES
$Z $DELETE $xTV/COORDONNEES_01$COORD_X
$Z $DELETE $xTV/COORDONNEES_01$COORD_Y
$Z $DELETE $xTV/COORDONNEES_01$COORD_Z
$Z $CA $xTV/COORDONNEES \
$Z | $AW ' { print $1 } ' \
$Z > $xTV/COORDONNEES_01$COORD_X
$Z $CA $xTV/COORDONNEES \
$Z | $AW ' { print $2 } ' \
$Z > $xTV/COORDONNEES_01$COORD_Y
$Z $CA $xTV/COORDONNEES \
$Z | $AW ' { print $3 } ' \
$Z > $xTV/COORDONNEES_01$COORD_Z
$Z $DELETE $xTV/COORDONNEES
$Z $DELETE $xTV/DISTANCES
$Z $xrv/distance.02$X \
$Z CAL1=FAUX \
$Z ne=$_____NPoints \
$Z LISTE_X=$xTV/COORDONNEES_01$COORD_X \
$Z LISTE_Y=$xTV/COORDONNEES_01$COORD_Y \
$Z LISTE_Z=$xTV/COORDONNEES_01$COORD_Z \
$Z premiers_voisins=VRAI \
$Z N=$_____NVoisins \
$Z > $xTV/DISTANCES
$Z set ListeCouples=`$CA $xTV/DISTANCES | $SE -e "s/^.*couple=//" -e 's/ .*$//' -e "s/[^,$Alphabet_0_9]//g" | $SOR -u`
$Z # Le '$SOR -u' a ete introduit le 20011014100521, depuis que l'option implicite "tri=VRAI" #
$Z # a ete introduite le 20011014091311 dans 'v $xrv/distance.02$K 20011014091311'. #
$Z $DELETE $xTV/DISTANCES
$Z if ($_____Inversion == $EXIST) then
$Z # Possibilite introduite le 20080328145004 permettant de faire une inversion de la sphere... #
$Z # #
$Z # ATTENTION : on notera que l'on ne teste pas si le centre d'inversion n'est pas, par #
$Z # malheur, l'un des points de la liste... #
$Z $DELETE $xTV/COORDONNEES_02$COORD_X
$Z $DELETE $xTV/COORDONNEES_02$COORD_Y
$Z $DELETE $xTV/COORDONNEES_02$COORD_Z
$Z $xrv/ROTATION.01$X \
$Z CAL1=FAUX \
$Z ne=$_____NPoints \
$Z LISTE_X=$xTV/COORDONNEES_01$COORD_X \
$Z LISTE_Y=$xTV/COORDONNEES_01$COORD_Y \
$Z LISTE_Z=$xTV/COORDONNEES_01$COORD_Z \
$Z rotation=VRAI \
$Z ROTATION_OX=$_____IRotationX \
$Z ROTATION_OY=$_____IRotationY \
$Z ROTATION_OZ=$_____IRotationZ \
$Z pX=1 pY=0 pZ=0 \
$Z > $xTV/COORDONNEES_02$COORD_X
$Z $xrv/ROTATION.01$X \
$Z CAL1=FAUX \
$Z ne=$_____NPoints \
$Z LISTE_X=$xTV/COORDONNEES_01$COORD_X \
$Z LISTE_Y=$xTV/COORDONNEES_01$COORD_Y \
$Z LISTE_Z=$xTV/COORDONNEES_01$COORD_Z \
$Z rotation=VRAI \
$Z ROTATION_OX=$_____IRotationX \
$Z ROTATION_OY=$_____IRotationY \
$Z ROTATION_OZ=$_____IRotationZ \
$Z pX=0 pY=1 pZ=0 \
$Z > $xTV/COORDONNEES_02$COORD_Y
$Z $xrv/ROTATION.01$X \
$Z CAL1=FAUX \
$Z ne=$_____NPoints \
$Z LISTE_X=$xTV/COORDONNEES_01$COORD_X \
$Z LISTE_Y=$xTV/COORDONNEES_01$COORD_Y \
$Z LISTE_Z=$xTV/COORDONNEES_01$COORD_Z \
$Z rotation=VRAI \
$Z ROTATION_OX=$_____IRotationX \
$Z ROTATION_OY=$_____IRotationY \
$Z ROTATION_OZ=$_____IRotationZ \
$Z pX=0 pY=0 pZ=1 \
$Z > $xTV/COORDONNEES_02$COORD_Z
$Z $DELETE $xTV/COORDONNEES_03$COORD_X
$Z $DELETE $xTV/COORDONNEES_03$COORD_Y
$Z $DELETE $xTV/COORDONNEES_03$COORD_Z
$Z $xrv/inversion.01$X \
$Z CAL1=FAUX \
$Z ne=$_____NPoints \
$Z LISTE_X=$xTV/COORDONNEES_02$COORD_X \
$Z LISTE_Y=$xTV/COORDONNEES_02$COORD_Y \
$Z LISTE_Z=$xTV/COORDONNEES_02$COORD_Z \
$Z LISTE_RAYON=$_____Rayon \
$Z Xpole=$_____InversionX \
$Z Ypole=$_____InversionY \
$Z Zpole=$_____InversionZ \
$Z pX=1 pY=0 pZ=0 pRAYON=0 \
$Z > $xTV/COORDONNEES_03$COORD_X
$Z $xrv/inversion.01$X \
$Z CAL1=FAUX \
$Z ne=$_____NPoints \
$Z LISTE_X=$xTV/COORDONNEES_02$COORD_X \
$Z LISTE_Y=$xTV/COORDONNEES_02$COORD_Y \
$Z LISTE_Z=$xTV/COORDONNEES_02$COORD_Z \
$Z LISTE_RAYON=$_____Rayon \
$Z Xpole=$_____InversionX \
$Z Ypole=$_____InversionY \
$Z Zpole=$_____InversionZ \
$Z pX=0 pY=1 pZ=0 pRAYON=0 \
$Z > $xTV/COORDONNEES_03$COORD_Y
$Z $xrv/inversion.01$X \
$Z CAL1=FAUX \
$Z ne=$_____NPoints \
$Z LISTE_X=$xTV/COORDONNEES_02$COORD_X \
$Z LISTE_Y=$xTV/COORDONNEES_02$COORD_Y \
$Z LISTE_Z=$xTV/COORDONNEES_02$COORD_Z \
$Z LISTE_RAYON=$_____Rayon \
$Z Xpole=$_____InversionX \
$Z Ypole=$_____InversionY \
$Z Zpole=$_____InversionZ \
$Z pX=0 pY=0 pZ=1 pRAYON=0 \
$Z > $xTV/COORDONNEES_03$COORD_Z
$Z $DELETE $xTV/COORDONNEES_01$COORD_X
$Z $DELETE $xTV/COORDONNEES_01$COORD_Y
$Z $DELETE $xTV/COORDONNEES_01$COORD_Z
$Z $MV $xTV/COORDONNEES_03$COORD_X $xTV/COORDONNEES_01$COORD_X
$Z $MV $xTV/COORDONNEES_03$COORD_Y $xTV/COORDONNEES_01$COORD_Y
$Z $MV $xTV/COORDONNEES_03$COORD_Z $xTV/COORDONNEES_01$COORD_Z
$Z else
$Z endif
$Z if ($_____CSpheriques == $EXIST) then
$Z # Possibilite introduite le 20080313095345 : par defaut, l'objet genere est en coordonnees #
$Z # cartesiennes dans l'espace {X,Y,Z}, mais il est desormais possible de se placer dans #
$Z # l'espace {PHI,THETA,0}... #
$Z $DELETE $xTV/COORDONNEES_01.PHI
$Z $DELETE $xTV/COORDONNEES_01.THETA
$Z $xrv/XYZ_RPT.01$X \
$Z CAL1=FAUX \
$Z ne=$_____NPoints \
$Z LISTE_X=$xTV/COORDONNEES_01$COORD_X \
$Z LISTE_Y=$xTV/COORDONNEES_01$COORD_Y \
$Z LISTE_Z=$xTV/COORDONNEES_01$COORD_Z \
$Z pRHO=0 pPHI=1 pTHETA=0 | \
$Z $xrv/normalise.01$X \
$Z ne=$_____NPoints \
$Z fichier== \
$Z mA=0 MA=$dpi forcer_extrema=VRAI \
$Z mR=-1 MR=+1 \
$Z > $xTV/COORDONNEES_01.PHI
$Z $xrv/XYZ_RPT.01$X \
$Z CAL1=FAUX \
$Z ne=$_____NPoints \
$Z LISTE_X=$xTV/COORDONNEES_01$COORD_X \
$Z LISTE_Y=$xTV/COORDONNEES_01$COORD_Y \
$Z LISTE_Z=$xTV/COORDONNEES_01$COORD_Z \
$Z pRHO=0 pPHI=0 pTHETA=1 | \
$Z $xrv/normalise.01$X \
$Z ne=$_____NPoints \
$Z fichier== \
$Z mA=0 MA=$pi forcer_extrema=VRAI \
$Z mR=-1 MR=+1 \
$Z > $xTV/COORDONNEES_01.THETA
$Z $DELETE $xTV/COORDONNEES_01$COORD_X
$Z $DELETE $xTV/COORDONNEES_01$COORD_Y
$Z $DELETE $xTV/COORDONNEES_01$COORD_Z
$Z $MV $xTV/COORDONNEES_01.PHI $xTV/COORDONNEES_01$COORD_X
$Z $MV $xTV/COORDONNEES_01.THETA $xTV/COORDONNEES_01$COORD_Y
$Z $xrv/neutre$X \
$Z ne=$_____NPoints \
$Z fichier=0 \
$Z > $xTV/COORDONNEES_01$COORD_Z
$Z # Ainsi, on se place dans l'espace {X=PHI,Y=THETA,Z=0}... #
$Z else
$Z endif