#!/bin/csh ####################################################################################################################################### # # # G E N E R A T I O N D ' U N N U C L E O N S T E R E O S C O P I Q U E B R U M E U X : # # # # # # Utilisation : # # # # $xrq/nucleon.LB$Z # # # # # # Author of '$xrq/nucleon.LB$Z' : # # # # Jean-Francois Colonna (LACTAMME, AAAAMMJJhhmmss). # # # ####################################################################################################################################### source $xrq/nucleon.LB.1$Y # Definition du choix du directory de generation des images, des composantes de nom des # # images et des parametres d'interpolation. # ####################################################################################################################################### # # # P A R A M E T R E S D E L A S I M U L A T I O N : # # # ####################################################################################################################################### source $xrq/nucleon.L4.3$Y # Quelques parametres... # set Nimages=32 # Definition du nombre d'images a integrer. # set imageV=$imageO # Definition de la premiere image, # set imageN=$imageO @ imageN = $imageN + $Nimages @ imageN = $imageN - 1 # Definition de la derniere image. # set luminance = "$K_VIDE" set luminance = "$luminance ""$K_VIDE" set translate = "$K_VIDE" set translate = "$translate ""$K_VIDE" set zoom = "$K_VIDE" set zoom = "$zoom ""$K_VIDE" set rot_OX = "$K_VIDE" set rot_OX = "$rot_OX ""$K_VIDE" set rot_OY = "$K_VIDE" set rot_OY = "$rot_OY ""$K_VIDE" set rot_OZ = "$K_VIDE" set rot_OZ = "$rot_OZ ""$K_VIDE" set transformation="$luminance $translate $zoom $rot_OX $rot_OY $rot_OZ" # Definition des differentes transformations geometriques. # set Lumiere = "$K_VIDE" set Lumiere = "$Lumiere ""Lx=1.000000e-15" set Lumiere = "$Lumiere ""Ly=1.000000e-15" set Lumiere = "$Lumiere ""Lz=1.000000e-15" # Definition de la source lumineuse, telle que pratiquement toutes les particules soient # # derriere elle par rapport a l'observateur... # set convolutionP=1 set convolution="noyau_variable=FAUX cNOIR=VRAI convolution=$convolutionP facteur=0.100" # Definition des operations de convolution. # set stereo="0.08" # Definition de la valeur absolue du demi-decalage des yeux... # set vie="1.000e-25" set simulation="$K_VIDE" set simulation="$simulation ""graine=1789" set simulation="$simulation ""rapide=FAUX" set simulation="$simulation ""p0=$imageO pV=$imageV" set simulation="$simulation ""ralentissement=1.00" set simulation="$simulation ""particules=200" set simulation="$simulation ""auto_reguler=FAUX" set simulation="$simulation ""injection=VRAI injectionI=VRAI injectionS=VRAI" set simulation="$simulation ""nefqv=400" set simulation="$simulation ""neq=80000" set simulation="$simulation ""neaq=80000" set simulation="$simulation ""neg=160000" set simulation="$simulation ""1voisinage2=0.0160e-15" set simulation="$simulation ""2voisinage2=0.2500e-15" set simulation="$simulation ""p_Q___QxG=0.2" set simulation="$simulation ""p_AQ___AQxG=0.2" set simulation="$simulation ""i_Q___QxG=VRAI" set simulation="$simulation ""i_AQ___AQxG=VRAI" set simulation="$simulation ""p_QxG___Q=1.0" set simulation="$simulation ""p_AQxG___AQ=1.0" set simulation="$simulation ""position=0.0100e-15" set simulation="$simulation ""dvmqr=$vie" set simulation="$simulation ""dvmaqr=$vie" set simulation="$simulation ""dvmqv=$vie" set simulation="$simulation ""dvmaqv=$vie" set simulation="$simulation ""dvmgr=$vie" set simulation="$simulation ""dvmgv=$vie" set simulation="$simulation ""vol=50.0" set simulation="$simulation ""fadv=20.0" set simulation="$simulation ""exageration=0.5" set simulation="$simulation ""majorer=FAUX" set simulation="$simulation ""maximum=1.5" set simulation="$simulation ""trainees=FAUX" set simulation="$simulation ""randomiser=FAUX" set simulation="$simulation ""interieur=1.0" set simulation="$simulation ""exterieur=1.0" set simulation="$simulation ""seuil=0.9" set simulation="$simulation ""vqR=VRAI" set simulation="$simulation ""rqR=0.0300e-15" set simulation="$simulation ""rqV=0.0300e-15" set simulation="$simulation ""rg=0.0100e-15" # ATTENTION, il y avait autrefois ici : # # # # set simulation="$simulation ""rqR=0.0400e-15" # # set simulation="$simulation ""rqV=0.0400e-15" # # # # mais apres des changements dans la visualisation des spheres (voir 'v $xrv/champs_5.1C$I') # # il fut necessaire de reduire ces parametres. On notera que 'rg=' ne peut etre reduit car # # sinon (pour '0.0050e-15') la taille apparente est trop proche de celle du point.... # set simulation="$simulation ""nnsG=12" set simulation="$simulation ""npsG=12" set simulation="$simulation ""caracteristique=FAUX" set simulation="$simulation ""trace=FAUX" set simulation="$simulation ""messages=FAUX" set simulation="$simulation ""parametres=FAUX" set simulation="$simulation ""chronometrer=FAUX" set simulation="$simulation ""simultanees=$Nimages" set accumulation="$K_VIDE" set accumulation="$accumulation ""premiere=$imageO derniere=$imageN pas=1" set accumulation="$accumulation ""renormaliser=FAUX" set accumulation="$accumulation ""attenuation=0.92" # Definition de l'attenuation pour le calcul des trainees ; cette valeur nulle permet de # # calculer automatiquement le facteur d'attenuation, et ceci en fonction du nombre d'images # # et de facon a ce que la dynamique des niveaux de gris soit exploitee au mieux (auparavant # # la valeur utilisee etait 0.84). Je reviens (provisoirement) a une valeur imposee afin de # # conserver bien visibles les images les plus anciennes... # set accumulation="$accumulation ""maximum=VRAI" # ATTENTION, il y avait autrefois ici : # # # # Pal # # # # mais il en fait plus general de choisir le format des images avant l'appel de cette # # commande, puisque ce dernier lui est tranmis via l'environnement... # ####################################################################################################################################### # # # O U T I L S D E S I M U L A T I O N : # # # ####################################################################################################################################### alias Detruit 'set Ar1="\!:1" ; set Ar2="\!:2" ; \\ $DELETE_VALIDE $Directory/$PROTON$Ar1$Ar2.* >& $nul ; \\ unset Ar1 Ar2' alias Simule 'set Ar1="\!:1" ; set Ar2="\!:2" ; \\ $xrq/nucleon.L0$X np=$Nimages \\ $transformation $Lumiere \\ $convolution \\ $simulation stereo=$Ar1 \\ R=$Directory/$PROTON$Ar2 \\ $formatI ; \\ unset Ar1 Ar2' alias Accumule 'set Ar1="\!:1" ; set Ar2="\!:2" ; \\ $xci/accumule.01$X A=$Directory/$PROTON$Ar1$Ar2. $accumulation R=$Directory/$PROTON$Ar1$Ar2 \\ $formatI ; \\ unset Ar1 Ar2' alias Droite 'set Ar1="\!:1" ; \\ droite $Ar1$ROUGE $Ar1$ROUGE ; \\ droite $Ar1$VERTE $Ar1$VERTE ; \\ droite $Ar1$BLEUE $Ar1$BLEUE ; \\ unset Ar1' alias Gauche 'set Ar1="\!:1" ; \\ gauche $Ar1$ROUGE $Ar1$ROUGE ; \\ gauche $Ar1$VERTE $Ar1$VERTE ; \\ gauche $Ar1$BLEUE $Ar1$BLEUE ; \\ unset Ar1' unalias Droite unalias Gauche alias Droite 'set Ar1="\!:1" ; \\ unset Ar1' alias Gauche 'set Ar1="\!:1" ; \\ unset Ar1' # Pour ne pas titrer... # ####################################################################################################################################### # # # N E T T O Y A G E P R E L I M I N A I R E : # # # ####################################################################################################################################### Detruit $DROITE $ROUGE Detruit $DROITE $VERTE Detruit $DROITE $BLEUE Detruit $GAUCHE $ROUGE Detruit $GAUCHE $VERTE Detruit $GAUCHE $BLEUE ####################################################################################################################################### # # # V U E " O E I L D R O I T " : # # # ####################################################################################################################################### Simule $stereo $DROITE Accumule $DROITE $ROUGE Accumule $DROITE $VERTE Accumule $DROITE $BLEUE Detruit $DROITE $ROUGE Detruit $DROITE $VERTE Detruit $DROITE $BLEUE ####################################################################################################################################### # # # V U E " O E I L G A U C H E " : # # # ####################################################################################################################################### Simule -$stereo $GAUCHE Accumule $GAUCHE $ROUGE Accumule $GAUCHE $VERTE Accumule $GAUCHE $BLEUE Detruit $GAUCHE $ROUGE Detruit $GAUCHE $VERTE Detruit $GAUCHE $BLEUE ####################################################################################################################################### # # # O U T I L S D E B R U M E : # # # ####################################################################################################################################### set noyau02=200 set noyau10=1000 # Definition des tailles de noyau de convolution... # alias Convolue 'set Ag1="\!:1" ; set Ag2="\!:2" ; set Ag3="\!:3" ; \\ $xci/convol.01$X A=$Ag1 R=$Ag2 \\ carre=FAUX \\ points=$Ag3 \\ saut=0 \\ renormaliser=VRAI \\ $formatI ; \\ unset Ag1 Ag2 Ag3' alias Convol02 'set Ar1="\!:1" ; set Ar2="\!:2" ; set Ar3="\!:3" ; \\ Convolue $Directory/$PROTON$Ar1$Ar2 $Directory/$mPROTON$Ar3$Ar1$Ar2 $noyau02 ; \\ unset Ar1 Ar2 Ar3' alias Convol10 'set Ar1="\!:1" ; set Ar2="\!:2" ; set Ar3="\!:3" ; \\ Convolue $Directory/$PROTON$Ar1$Ar2 $Directory/$mPROTON$Ar3$Ar1$Ar2 $noyau10 ; \\ unset Ar1 Ar2 Ar3' # Definition des commandes de convolution. # ####################################################################################################################################### # # # G E N E R A T I O N D ' U N E F F E T D E B R U M E F A I B L E : # # # ####################################################################################################################################### if ($NEXIST) then Convol02 $DROITE $ROUGE $STEP1 Convol02 $DROITE $VERTE $STEP1 Convol02 $DROITE $BLEUE $STEP1 # Convolution. # Convol02 $GAUCHE $ROUGE $STEP1 Convol02 $GAUCHE $VERTE $STEP1 Convol02 $GAUCHE $BLEUE $STEP1 # Convolution. # $xci/interpole.11$Z $Alpha $Directory/$PROTON$DROITE \ $Beta $Directory/$mPROTON$STEP1$DROITE \ $Directory/$mPROTON$STEP1$STEPI1$DROITE Droite $Directory/$mPROTON$STEP1$STEPI1$DROITE $xci/interpole.11$Z $Alpha $Directory/$PROTON$GAUCHE \ $Beta $Directory/$mPROTON$STEP1$GAUCHE \ $Directory/$mPROTON$STEP1$STEPI1$GAUCHE Gauche $Directory/$mPROTON$STEP1$STEPI1$GAUCHE # Effet de brume par interpolation. # $xci/vitre.53$Z $Directory/$PROTON$DROITE \ $Directory/$mPROTON$STEP1$DROITE \ $Directory/$mPROTON$STEP1$STEPV1$DROITE Droite $Directory/$mPROTON$STEP1$STEPV1$DROITE $xci/vitre.53$Z $Directory/$PROTON$GAUCHE \ $Directory/$mPROTON$STEP1$GAUCHE \ $Directory/$mPROTON$STEP1$STEPV1$GAUCHE Gauche $Directory/$mPROTON$STEP1$STEPV1$GAUCHE # Effet de brume par transparence. # # ATTENTION : les images intermediaires calculees '$mPROTON' ne sont pas detruites, et ce # # afin de pouvoir etre re-utilisees "a la main" avec d'autres parametres... # else endif ####################################################################################################################################### # # # G E N E R A T I O N D ' U N E F F E T D E B R U M E F O R T : # # # ####################################################################################################################################### Convol10 $DROITE $ROUGE $STEP3 Convol10 $DROITE $VERTE $STEP3 Convol10 $DROITE $BLEUE $STEP3 # Convolution. # Convol10 $GAUCHE $ROUGE $STEP3 Convol10 $GAUCHE $VERTE $STEP3 Convol10 $GAUCHE $BLEUE $STEP3 # Convolution. # $xci/interpole.11$Z $Alpha $Directory/$PROTON$DROITE \ $Beta $Directory/$mPROTON$STEP3$DROITE \ $Directory/$mPROTON$STEP3$STEPI1$DROITE Droite $Directory/$mPROTON$STEP3$STEPI1$DROITE $xci/interpole.11$Z $Alpha $Directory/$PROTON$GAUCHE \ $Beta $Directory/$mPROTON$STEP3$GAUCHE \ $Directory/$mPROTON$STEP3$STEPI1$GAUCHE Gauche $Directory/$mPROTON$STEP3$STEPI1$GAUCHE # Effet de brume par interpolation. # $xci/vitre.53$Z $Directory/$PROTON$DROITE \ $Directory/$mPROTON$STEP3$DROITE \ $Directory/$mPROTON$STEP3$STEPV1$DROITE Droite $Directory/$mPROTON$STEP3$STEPV1$DROITE $xci/vitre.53$Z $Directory/$PROTON$GAUCHE \ $Directory/$mPROTON$STEP3$GAUCHE \ $Directory/$mPROTON$STEP3$STEPV1$GAUCHE Gauche $Directory/$mPROTON$STEP3$STEPV1$GAUCHE # Effet de brume par transparence. # # ATTENTION : les images intermediaires calculees '$mPROTON' ne sont pas detruites, et ce # # afin de pouvoir etre re-utilisees "a la main" avec d'autres parametres... # ####################################################################################################################################### # # # G E N E R A T I O N D ' U N E F F E T D E B R U M E F A I B L E E T F O R T A L A F O I S : # # # ####################################################################################################################################### if ($NEXIST) then $xci/interpole.11$Z $Alpha $Directory/$mPROTON$STEP1$STEPI1$DROITE \ $Beta $Directory/$mPROTON$STEP3$DROITE \ $Directory/$mPROTON$STEP3$STEPI2$DROITE $xci/interpole.11$Z $Alpha $Directory/$mPROTON$STEP1$STEPI1$GAUCHE \ $Beta $Directory/$mPROTON$STEP3$GAUCHE \ $Directory/$mPROTON$STEP3$STEPI2$GAUCHE # Effet de brume par interpolation. # $xci/vitre.53$Z $Directory/$mPROTON$STEP1$STEPV1$DROITE \ $Directory/$mPROTON$STEP3$DROITE \ $Directory/$mPROTON$STEP3$STEPV2$DROITE $xci/vitre.53$Z $Directory/$mPROTON$STEP1$STEPV1$GAUCHE \ $Directory/$mPROTON$STEP3$GAUCHE \ $Directory/$mPROTON$STEP3$STEPV2$GAUCHE # Effet de brume par transparence. # # ATTENTION : les images intermediaires calculees '$mPROTON' ne sont pas detruites, et ce # # afin de pouvoir etre re-utilisees "a la main" avec d'autres parametres... # else endif