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