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