#######################################################################################################################################
# #
# 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 #
# E T V I S U A L I S A T I O N D E L A D Y N A M I Q U E D U P R O C E S S U S #
# P A R U N E M E T H O D E D E R E C U I T S I M U L E : #
# #
# #
# Author of '$xiirs/.PSPH.31.3.$U' : #
# #
# Jean-Francois COLONNA (LACTAMME, 20030401114613). #
# #
#######################################################################################################################################
$Z $DELETE $xTV/RAYONS_01
$Z $xci/valeurs_inte$X \
$Z premiere=1 derniere=$_____NPoints \
$Z cubique=FAUX \
$Z vD=$_____RayonP vA=$_____RayonP \
$Z > $xTV/RAYONS_01
$Z $DELETE $xTV/COULEURS_01$ROUGE
$Z $DELETE $xTV/COULEURS_01$VERTE
$Z $DELETE $xTV/COULEURS_01$BLEUE
$Z $xci/valeurs_inte$X \
$Z premiere=1 derniere=$_____NPoints \
$Z cubique=FAUX \
$Z vD=$_____CouleurPR vA=$_____CouleurPR \
$Z > $xTV/COULEURS_01$ROUGE
$Z $xci/valeurs_inte$X \
$Z premiere=1 derniere=$_____NPoints \
$Z cubique=FAUX \
$Z vD=$_____CouleurPV vA=$_____CouleurPV \
$Z > $xTV/COULEURS_01$VERTE
$Z $xci/valeurs_inte$X \
$Z premiere=1 derniere=$_____NPoints \
$Z cubique=FAUX \
$Z vD=$_____CouleurPB vA=$_____CouleurPB \
$Z > $xTV/COULEURS_01$BLEUE
$Z set Probabilite=`calcul 1.6/$_____NPoints`
$Z # Le parametre '1.6' a ete obtenu experimentalement afin d'obtenir pour 'v $xiirs/PSPH.11', #
$Z # l'apparence d'un ruban de 4 faces a 4 cotes, reunies par 2 ensembles de 2 faces a 3 cotes. #
$Z set ListeNumeros=`$xci/nombres$X p=$Derniere d=$Premiere`
$Z # La liste est parcourue a l'envers {$Derniere,$Premiere} afin de calculer une seule fois #
$Z # la liste '$ListeCouples' et ce uniquement sur l'image finale '$Derniere'. Ainsi, la liste #
$Z # '$ListeCouples' sera utilisee pour les autres images {$Derniere-1,$Premiere} et donc les #
$Z # connexions 2 a 2 seront conservees au cours du temps... #
$Z @ Premiere0 = $Premiere - $Premiere
$Z if ($_____Lineaires == VRAI) then
$Z set PaR1="vD=$_____NIterations vA=$Premiere0"
$Z set ListeIterations=`$xci/valeurs_inte$X p=$Premiere d=$Derniere $PaR1 cubique=FAUX entiers=VRAI`
$Z unset PaR1
$Z # On notera qu'il serait peut-etre plus astucieux de generer une '$ListeIterations' non #
$Z # lineaire (mais pas avec l'option "cubique=VRAI"), afin de partir de tres peu d'iterations #
$Z # (car les choses vont tres vites au debut) pour arriver a un grand nombre d'iterations a #
$Z # la fin (car les choses vont de plus en plus lentement puisque les probabilites de perturber #
$Z # {Rho,Theta} diminuent au cours du processus avec les options {pdi,pdf} et {tdi,tdf}). #
$Z else
$Z @ Derniere0 = $Derniere - $Premiere
$Z set BaSe=2.6
$Z set Derniere1=`calcul $Derniere0-pow($BaSe,$Premiere0)`
$Z # Ceci a ete introduit le 20011112152709 afin que la premiere iteration (celle qui apparaitra #
$Z # en fait en dernier de '$ListeIterations') vaille 0 et permettre ainsi de visualiser les #
$Z # conditions initiales (d'ou le '-pow(...)' puisque '$xci/valeurs_trig$X' ci-apres va nous #
$Z # donner une liste d'exponentielle de base '$BaSe'). #
$Z set ItErAtIoNs=`calcul $_____NIterations-$Derniere1`
$Z set FaCtEuR=`calcul (1/$Derniere0)*log(1/$ItErAtIoNs)/log($BaSe)`
$Z # Jusqu'au 20011119091249, il y avait ici : #
$Z # #
$Z # set FaCtEuR=`calcul (1/$Derniere0)*log(1/$_____NIterations)` #
$Z # #
$Z # #
$Z # Des sequences anterieures au 20011119091249 peuvent donc ne pas etre reproductibles (en #
$Z # particulier celles qui sont en mode 'FAUX' et '$_____Lineaires'...). #
$Z set PaR1="aD=$Premiere0 aA=$Derniere0"
$Z set PaR2="rD=$ItErAtIoNs rA=$ItErAtIoNs"
$Z unset ItErAtIoNs
$Z # Jusqu'au 20011119091249, il y avait ici : #
$Z # #
$Z # set PaR2="rD=$_____NIterations rA=$_____NIterations" #
$Z # #
$Z # #
$Z # Des sequences anterieures au 20011119091249 peuvent donc ne pas etre reproductibles (en #
$Z # particulier celles qui sont en mode 'FAUX' et '$_____Lineaires'...). #
$Z set PaR3="a=0 b=0 c=1 h=$FaCtEuR delta=-1 translation=$Derniere1"
$Z set ListeIterations=`$xci/valeurs_trig$X p=$Premiere d=$Derniere $PaR1 $PaR2 cubique=FAUX $PaR3 base=$BaSe entiers=VRAI`
$Z # Le but de tout cela est de produire une suite d'exponentielles telle que : #
$Z # #
$Z # $ListeIterations[$Premiere] = 0 #
$Z # $ListeIterations[$Derniere] = $_____NIterations #
$Z # #
$Z # afin d'assurer le meme nombre total d'iterations ('$_____NIterations') quel que soit le #
$Z # mode '$_____Lineaires' et de commencer par les conditions initiales (0 iterations...). #
$Z unset Derniere0
$Z unset FaCtEuR
$Z unset PaR1
$Z unset PaR2
$Z unset PaR3
$Z endif
$Z unset Premiere0
$Z set Compteur=1
$Z @ NombreImages = $Derniere - $Premiere
$Z @ NombreImages = $NombreImages + 1
$Z set NIterationsMax=$ListeIterations[1]
$Z while ($Compteur <= $NombreImages)
$Z set NumeroImage=$ListeNumeros[$Compteur]
$Z set NIterations=$ListeIterations[$Compteur]
$Z $DELETE $xTV/COORDONNEES
$Z $xrv/optimise.01$X \
$Z ne=$_____NPoints \
$Z LISTE_RHO=$_____RayonMin \
$Z LISTE_PHI=$_____Phi \
$Z LISTE_THETA=$_____Theta \
$Z ppp=$Probabilite \
$Z rm=$_____RayonMin rM=$_____RayonMax \
$Z rdi=$_____rdi rdf=$_____rdf \
$Z rdn=$_____RhoNegatif rdp=$_____RhoPositif \
$Z pdi=$_____pdi pdf=$_____pdf \
$Z tdi=$_____tdi tdf=$_____tdf \
$Z iterations=$NIterationsMax \
$Z tentatives=$_____NTentatives \
$Z avant_la_fin=VRAI fin=$NIterations \
$Z cartesienneA=FAUX \
$Z cartesienneR=VRAI \
$Z point_fixe=$_____PointFixe \
$Z lister_initiale_finale=FAUX \
$Z > $xTV/COORDONNEES
$Z # Jusqu'au 20011119091249, il y avait ici : #
$Z # #
$Z # iterations=$_____NIterations #
$Z # #
$Z # Evidemment, les deux quantites '$_____NIterations' et '$NIterationsMax' doivent etre #
$Z # egales, mais on ne sait jamais plus tard... #
$Z # #
$Z # Des sequences anterieures au 20011119091249 peuvent donc ne pas etre reproductibles (en #
$Z # particulier celles qui sont en mode 'FAUX' et '$_____Lineaires'...). #
$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 | $SE -e "s/^.* [Xx]=//" \
$Z -e 's/ .*$//' \
$Z > $xTV/COORDONNEES_01$COORD_X
$Z $CA $xTV/COORDONNEES \
$Z | $SE -e "s/^.* [Yy]=//" \
$Z -e 's/ .*$//' \
$Z > $xTV/COORDONNEES_01$COORD_Y
$Z $CA $xTV/COORDONNEES \
$Z | $SE -e "s/^.* [Zz]=//" \
$Z -e 's/ .*$//' \
$Z > $xTV/COORDONNEES_01$COORD_Z
$Z $DELETE $xTV/COORDONNEES
$Z if ($?ListeCouples == $NEXIST) then
$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 else
$Z endif
$Z $DELETE $xTV/COORDONNEES_03$COORD_X
$Z $DELETE $xTV/COORDONNEES_03$COORD_Y
$Z $DELETE $xTV/COORDONNEES_03$COORD_Z
$Z $DELETE $xTV/RAYONS_03
$Z $DELETE $xTV/COULEURS_03$ROUGE
$Z $DELETE $xTV/COULEURS_03$VERTE
$Z $DELETE $xTV/COULEURS_03$BLEUE
$Z foreach Couple ($ListeCouples)
$Z set Couple=`echo $Couple | $R "," "$K_BLANC"`
$Z set CoupleA=$Couple[1]
$Z set CoupleB=$Couple[2]
$Z
$Z $xrv/un_seul.01$X \
$Z CAL1=FAUX \
$Z ne=$_____NPoints \
$Z fichier=$xTV/COORDONNEES_01$COORD_X \
$Z extraire=$CoupleA \
$Z >>! $xTV/COORDONNEES_03$COORD_X
$Z $xrv/un_seul.01$X \
$Z CAL1=FAUX \
$Z ne=$_____NPoints \
$Z fichier=$xTV/COORDONNEES_01$COORD_X \
$Z extraire=$CoupleB \
$Z >>! $xTV/COORDONNEES_03$COORD_X
$Z
$Z $xrv/un_seul.01$X \
$Z CAL1=FAUX \
$Z ne=$_____NPoints \
$Z fichier=$xTV/COORDONNEES_01$COORD_Y \
$Z extraire=$CoupleA \
$Z >>! $xTV/COORDONNEES_03$COORD_Y
$Z $xrv/un_seul.01$X \
$Z CAL1=FAUX \
$Z ne=$_____NPoints \
$Z fichier=$xTV/COORDONNEES_01$COORD_Y \
$Z extraire=$CoupleB \
$Z >>! $xTV/COORDONNEES_03$COORD_Y
$Z
$Z $xrv/un_seul.01$X \
$Z CAL1=FAUX \
$Z ne=$_____NPoints \
$Z fichier=$xTV/COORDONNEES_01$COORD_Z \
$Z extraire=$CoupleA \
$Z >>! $xTV/COORDONNEES_03$COORD_Z
$Z $xrv/un_seul.01$X \
$Z CAL1=FAUX \
$Z ne=$_____NPoints \
$Z fichier=$xTV/COORDONNEES_01$COORD_Z \
$Z extraire=$CoupleB \
$Z >>! $xTV/COORDONNEES_03$COORD_Z
$Z
$Z $xrv/un_seul.01$X \
$Z CAL1=FAUX \
$Z ne=$_____NPoints \
$Z fichier=$xTV/RAYONS_01 \
$Z extraire=$CoupleA \
$Z >>! $xTV/RAYONS_03
$Z $xrv/un_seul.01$X \
$Z CAL1=FAUX \
$Z ne=$_____NPoints \
$Z fichier=$xTV/RAYONS_01 \
$Z extraire=$CoupleB \
$Z >>! $xTV/RAYONS_03
$Z
$Z $xrv/un_seul.01$X \
$Z CAL1=FAUX \
$Z ne=$_____NPoints \
$Z fichier=$xTV/COULEURS_01$ROUGE \
$Z extraire=$CoupleA \
$Z >>! $xTV/COULEURS_03$ROUGE
$Z $xrv/un_seul.01$X \
$Z CAL1=FAUX \
$Z ne=$_____NPoints \
$Z fichier=$xTV/COULEURS_01$ROUGE \
$Z extraire=$CoupleB \
$Z >>! $xTV/COULEURS_03$ROUGE
$Z
$Z $xrv/un_seul.01$X \
$Z CAL1=FAUX \
$Z ne=$_____NPoints \
$Z fichier=$xTV/COULEURS_01$VERTE \
$Z extraire=$CoupleA \
$Z >>! $xTV/COULEURS_03$VERTE
$Z $xrv/un_seul.01$X \
$Z CAL1=FAUX \
$Z ne=$_____NPoints \
$Z fichier=$xTV/COULEURS_01$VERTE \
$Z extraire=$CoupleB \
$Z >>! $xTV/COULEURS_03$VERTE
$Z
$Z $xrv/un_seul.01$X \
$Z CAL1=FAUX \
$Z ne=$_____NPoints \
$Z fichier=$xTV/COULEURS_01$BLEUE \
$Z extraire=$CoupleA \
$Z >>! $xTV/COULEURS_03$BLEUE
$Z $xrv/un_seul.01$X \
$Z CAL1=FAUX \
$Z ne=$_____NPoints \
$Z fichier=$xTV/COULEURS_01$BLEUE \
$Z extraire=$CoupleB \
$Z >>! $xTV/COULEURS_03$BLEUE
$Z end
$Z $DELETE $xTV/COORDONNEES_01$COORD_X
$Z $DELETE $xTV/COORDONNEES_01$COORD_Y
$Z $DELETE $xTV/COORDONNEES_01$COORD_Z
$Z $DELETE $xTV/COORDONNEES$COORD_X
$Z $DELETE $xTV/COORDONNEES$COORD_Y
$Z $DELETE $xTV/COORDONNEES$COORD_Z
$Z $DELETE $xTV/RAYONS
$Z $DELETE $xTV/COULEURS$ROUGE
$Z $DELETE $xTV/COULEURS$VERTE
$Z $DELETE $xTV/COULEURS$BLEUE
$Z $CA $xTV/COORDONNEES_02$COORD_X $xTV/COORDONNEES_03$COORD_X \
$Z > $xTV/COORDONNEES$COORD_X
$Z $CA $xTV/COORDONNEES_02$COORD_Y $xTV/COORDONNEES_03$COORD_Y \
$Z > $xTV/COORDONNEES$COORD_Y
$Z $CA $xTV/COORDONNEES_02$COORD_Z $xTV/COORDONNEES_03$COORD_Z \
$Z > $xTV/COORDONNEES$COORD_Z
$Z $CA $xTV/RAYONS_02 $xTV/RAYONS_03 \
$Z > $xTV/RAYONS
$Z $CA $xTV/COULEURS_02$ROUGE $xTV/COULEURS_03$ROUGE \
$Z > $xTV/COULEURS$ROUGE
$Z $CA $xTV/COULEURS_02$VERTE $xTV/COULEURS_03$VERTE \
$Z > $xTV/COULEURS$VERTE
$Z $CA $xTV/COULEURS_02$BLEUE $xTV/COULEURS_03$BLEUE \
$Z > $xTV/COULEURS$BLEUE
$Z $DELETE $xTV/COORDONNEES_03$COORD_X
$Z $DELETE $xTV/COORDONNEES_03$COORD_Y
$Z $DELETE $xTV/COORDONNEES_03$COORD_Z
$Z $DELETE $xTV/RAYONS_03
$Z $DELETE $xTV/COULEURS_03$ROUGE
$Z $DELETE $xTV/COULEURS_03$VERTE
$Z $DELETE $xTV/COULEURS_03$BLEUE
$Z set ParticulesX=`$WC $xTV/COORDONNEES$COORD_X`
$Z set ParticulesX=$ParticulesX[$WC1]
$Z set ParticulesY=`$WC $xTV/COORDONNEES$COORD_Y`
$Z set ParticulesY=$ParticulesY[$WC1]
$Z set ParticulesZ=`$WC $xTV/COORDONNEES$COORD_Z`
$Z set ParticulesZ=$ParticulesZ[$WC1]
#20220615105220____:$Z set Particules=`$xcg/MAX3.01$X x=$ParticulesX y=$ParticulesY z=$ParticulesZ` #
$Z set Particules=`$xcg/MIN3.01$X x=$ParticulesX y=$ParticulesY z=$ParticulesZ`
$Z $xrv/particule.10$X \
$Z np=1 \
$Z iterations=$Particules \
$Z AXYZ=1 BXYZ=0 \
$Z LISTE_X=$xTV/COORDONNEES$COORD_X \
$Z LISTE_Y=$xTV/COORDONNEES$COORD_Y \
$Z LISTE_Z=$xTV/COORDONNEES$COORD_Z \
$Z LISTE_RAYON=$xTV/RAYONS \
$Z LISTE_ROUGE=$xTV/COULEURS$ROUGE \
$Z LISTE_VERTE=$xTV/COULEURS$VERTE \
$Z LISTE_BLEUE=$xTV/COULEURS$BLEUE \
$Z isoles=FAUX chainer=FAUX \
$Z Pajuster=VRAI Rpoints=4 \
$Z cubique=$_____Cubique \
$Z Lz=100 \
$Z Zminimum=$_____DepthCueing Zmaximum=1.0 \
$Z ZminimumT=$_____DepthCueing ZmaximumT=1.0 \
$Z ZOOM=$_____Zoom \
$Z ROTATION_OX=$_____RotationOX \
$Z ROTATION_OY=$_____RotationOY \
$Z ROTATION_OZ=$_____RotationOZ \
$Z N_au_carre=FAUX \
$Z R=$_____images.$NumeroImage \
$Z chiffres=0 \
$Z $_____Arguments \
$Z $formatI
$Z @ Compteur = $Compteur + 1
$Z end
$Z $DELETE $xTV/RAYONS_01
$Z $DELETE $xTV/COULEURS_01$ROUGE
$Z $DELETE $xTV/COULEURS_01$VERTE
$Z $DELETE $xTV/COULEURS_01$BLEUE
$Z $DELETE $xTV/COORDONNEES$COORD_X
$Z $DELETE $xTV/COORDONNEES$COORD_Y
$Z $DELETE $xTV/COORDONNEES$COORD_Z
$Z $DELETE $xTV/RAYONS
$Z $DELETE $xTV/COULEURS$ROUGE
$Z $DELETE $xTV/COULEURS$VERTE
$Z $DELETE $xTV/COULEURS$BLEUE
$Z $DELETE $xTV/COORDONNEES_02$COORD_X
$Z $DELETE $xTV/COORDONNEES_02$COORD_Y
$Z $DELETE $xTV/COORDONNEES_02$COORD_Z
$Z $DELETE $xTV/RAYONS_02
$Z $DELETE $xTV/COULEURS_02$ROUGE
$Z $DELETE $xTV/COULEURS_02$VERTE
$Z $DELETE $xTV/COULEURS_02$BLEUE