#######################################################################################################################################
# #
# P O I N T D E V U E N O N H E L I O C E N T R I Q U E D A N S L E S Y S T E M E S O L A I R E : #
# #
# #
# Author of '$xiirk/.NCOR.r1.1.11.$U' : #
# #
# Jean-Francois Colonna (LACTAMME, 20070821185413). #
# #
#######################################################################################################################################
$Z setParam _____Nimages 750
$Z setParam _____ZoomD 9.00
$Z setParam _____ZoomA 0.70
$Z setParam _____Rotation_OXD `calcul 1.50+$pi`
$Z # La translation de '$pi' par defaut est destinee a voir tourner le systeme solaire dans #
$Z # le sens trigonometrique... #
$Z setParam _____Rotation_OXA `calcul 2*$pi`
$Z # Afin de voir tourner le systeme solaire dans le sens trigonometrique... #
$Z setParam _____Translation_OYD `GetParam $xrr/N_corps.11$X TRANSLATION_OY`
$Z # Parametre introduit le 20070823083209... #
$Z setParam _____Translation_OYA `GetParam $xrr/N_corps.11$X TRANSLATION_OY`
$Z # Parametre introduit le 20070823083209... #
$Z setParam _____Translation_OZD `GetParam $xrr/N_corps.11$X TRANSLATION_OZ`
$Z # Parametre introduit le 20070822100902... #
$Z setParam _____Translation_OZA `GetParam $xrr/N_corps.11$X TRANSLATION_OZ`
$Z # Parametre introduit le 20070822100902... #
$Z setParam _____FacteurRayon 1
$Z # Parametre introduit le 20070904160318, mais ATTENTION, celui-ci ne correspond plus a #
$Z # 'GetParam $xrr/N_corps.11$X Ar'. Ici, il signifie dorenavant un facteur multiplicatif #
$Z # applique a l'inverse du rapport de zoom ; ainsi le rayon des particules variera comme #
$Z # l'inverse du rapport de zoom et sera donc constant au cours du temps... #
$Z setParam _____Soleil $NEXIST
$Z # A priori, le Soleil n'est pas visualise (parametre introduit le 20070830100233). #
$Z setParam _____Reference 4
$Z # Point de vue geocentrique par defaut ("Terre=4")... #
$Z setParam _____PasTempsPeriodeD 1
$Z setParam _____PasTempsPeriodeA `(calculI 250*(2048/$_____Nimages))`
$Z setParam _____PasTempsPeriodeM `(calculI 250*(2048/$_____Nimages))`
$Z # Nombre de pas de temps Moyen (introduit le 20070822083803)... #
$Z setParam _____DctD 15000
$Z setParam _____DctA 15000
$Z setParam _____DctM 15000
$Z # Pas de temps Moyen (introduit le 20070822083803)... #
$Z setParam _____Ranterieurs 0.1
$Z setParam _____Canterieurs 0.8
$Z setParam _____Attenuation 0.997
$Z setParam _____Lineaire VRAI
$Z setParam _____ObservateurZ 0.4
$Z # Parametre introduit le 20070823144905... #
$Z set NcorpsS=10
$Z alias genere1 'set FiChIeR=\!:1 ; set DePaRt=\!:2 ; set ArRiVeE=\!:3 ; set PaRaMeTrEs=\!:4* ; \\
$Z $DELETE $FiChIeR ; \\
$Z $xci/valeurs_inte$X p=1 d=$_____Nimages \\
$Z vD=$DePaRt vA=$ArRiVeE $PaRaMeTrEs > $FiChIeR ; \\
$Z unset FiChIeR DePaRt ArRiVeE PaRaMeTrEs'
$Z genere1 $xT/NOMBRE_DCT_M $_____PasTempsPeriodeM $_____PasTempsPeriodeM "cubique=FAUX entiers=VRAI"
$Z SET CuMuL_M=$EXIST
$Z set CuMuL_M=`$xrv/cumul.01$X ne=0 fichier=$xT/NOMBRE_DCT_M Men_tete=FAUX somme=VRAI produit=FAUX`
$Z # Cette "double" definition par {SET,set} est destinee a eviter un probleme avec le 'if(...)' #
$Z # qui reference '$CuMuL_M' ci-apres lors de la generation du '$Z' via 'listN'. On notera que #
$Z # l'on ne peut pas, malheureusement, n'utiliser que le 'SET' car, en effet, le fichier #
$Z # '$xT/NOMBRE_DCT_M' n'existe evidemment pas lors du 'listN' et ainsi la commande #
$Z # '$xrv/cumul.01$X' ne peut alors pas s'executer correctement... #
$Z set GeNeReR_NOMBRE_DCT=$EXIST
$Z set PasTempsPeriodeA_C=$_____PasTempsPeriodeA
$Z while ($GeNeReR_NOMBRE_DCT == $EXIST)
$Z genere1 $xT/NOMBRE_DCT $_____PasTempsPeriodeD $PasTempsPeriodeA_C "cubique=FAUX entiers=VRAI"
$Z SET CuMuL=$EXIST
$Z set CuMuL=`$xrv/cumul.01$X ne=0 fichier=$xT/NOMBRE_DCT Men_tete=FAUX somme=VRAI produit=FAUX`
$Z # Cette "double" definition par {SET,set} est destinee a eviter un probleme avec le 'if(...)' #
$Z # qui reference '$CuMuL' ci-apres lors de la generation du '$Z' via 'listN'. On notera que #
$Z # l'on ne peut pas, malheureusement, n'utiliser que le 'SET' car, en effet, le fichier #
$Z # '$xT/NOMBRE_DCT' n'existe evidemment pas lors du 'listN' et ainsi la commande #
$Z # '$xrv/cumul.01$X' ne peut alors pas s'executer correctement... #
$Z if (`$xcg/IFLT.01$X a=$CuMuL b=$CuMuL_M` == $EXIST) then
$Z set PasTempsPeriodeA_C=`$xcg/SCAL.01$X x=$PasTempsPeriodeA_C a=$CuMuL n=$CuMuL_M`
$Z # Ceci de facon a ce que la moyenne des nombres pas de temps variable soit approximativement #
$Z # egale a '$_____PasTempsPeriodeM' (qui correspond donc a un nombre de pas de temps fixe...). #
$Z else
$Z set GeNeReR_NOMBRE_DCT=$NEXIST
$Z endif
$Z end
$Z genere1 $xT/DCT_M $_____DctM $_____DctM "cubique=FAUX"
$Z SET CuMuL_M=$EXIST
$Z set CuMuL_M=`$xrv/cumul.01$X ne=0 fichier=$xT/DCT_M Men_tete=FAUX somme=VRAI produit=FAUX`
$Z # Cette "double" definition par {SET,set} est destinee a eviter un probleme avec le 'if(...)' #
$Z # qui reference '$CuMuL_M' ci-apres lors de la generation du '$Z' via 'listN'. On notera que #
$Z # l'on ne peut pas, malheureusement, n'utiliser que le 'SET' car, en effet, le fichier #
$Z # '$xT/DCT_M' n'existe evidemment pas lors du 'listN' et ainsi la commande '$xrv/cumul.01$X' #
$Z # ne peut alors pas s'executer correctement... #
$Z set GeNeReR_DCT=$EXIST
$Z set DctA_courant=$_____DctA
$Z while ($GeNeReR_DCT == $EXIST)
$Z genere1 $xT/DCT $_____DctD $DctA_courant "cubique=FAUX"
$Z SET CuMuL=$EXIST
$Z set CuMuL=`$xrv/cumul.01$X ne=0 fichier=$xT/DCT Men_tete=FAUX somme=VRAI produit=FAUX`
$Z # Cette "double" definition par {SET,set} est destinee a eviter un probleme avec le 'if(...)' #
$Z # qui reference '$CuMuL' ci-apres lors de la generation du '$Z' via 'listN'. On notera que #
$Z # l'on ne peut pas, malheureusement, n'utiliser que le 'SET' car, en effet, le fichier #
$Z # '$xT/DCT' n'existe evidemment pas lors du 'listN' et ainsi la commande '$xrv/cumul.01$X' #
$Z # ne peut alors pas s'executer correctement... #
$Z if (`$xcg/IFLT.01$X a=$CuMuL b=$CuMuL_M` == $EXIST) then
$Z set DctA_courant=`$xcg/SCAL.01$X x=$DctA_courant a=$CuMuL n=$CuMuL_M`
$Z # Ceci de facon a ce que la moyenne des pas de temps variable soit approximativement egale #
$Z # a '$_____DctM' (qui correspond donc a un pas de temps fixe...). #
$Z else
$Z set GeNeReR_DCT=$NEXIST
$Z endif
$Z end
$Z genere1 $xT/ZOOM $_____ZoomD $_____ZoomA "cubique=FAUX"
$Z genere1 $xT/ROTATION$COORD_X $_____Rotation_OXD $_____Rotation_OXA "cubique=VRAI"
$Z genere1 $xT/TRANSLATION$COORD_Y $_____Translation_OYD $_____Translation_OYA "cubique=VRAI"
$Z genere1 $xT/TRANSLATION$COORD_Z $_____Translation_OZD $_____Translation_OZA "cubique=VRAI"
$Z $DELETE $xT/INVERSE_ZOOM
$Z $xrv/INVZ.01$X ne=0 fichier=$xT/ZOOM \
$Z > $xT/INVERSE_ZOOM
$Z $DELETE $xT/FACTEUR_RAYONS
$Z $xrv/MUL2.11$X ne=0 fichier1=$xT/INVERSE_ZOOM fichier2=$_____FacteurRayon \
$Z > $xT/FACTEUR_RAYONS
$Z # ATTENTION : a l'ordre entre '$xT/INVERSE_ZOOM' et '$_____FacteurRayon' a cause de "ne=0". #
$Z $DELETE $xT/INVERSE_ZOOM
$Z alias genere2 'set Fl=\!:1 ; set Li=(\!:2*) ; \\
$Z $DELETE $Fl ; \\
$Z echo "$Li" | $SE -e "s/$K_BLANC$K_BLANC*/ /g" | $R "$K_BLANC" "$K_NL" > $Fl ; \\
$Z unset Fl Li'
$Z
$Z genere2 $xT/COORDONNEES$COORD_X \
$Z +1e3 +514e+8 +213e+8 \
$Z -203e+8 \
$Z -204e+9 +501e+9 -134e+10 -150e+9 -436e+10 -392e+10
$Z genere2 $xT/COORDONNEES$COORD_Y \
$Z +1e3 +682e+7 +967e+8 \
$Z +133e+9 \
$Z +126e+9 -519e+9 +341e+9 +259e+10 -115e+10 +307e+10
$Z genere2 $xT/COORDONNEES$COORD_Z \
$Z +1e3 \
$Z -163e+7 +422e+8 +579e+8 \
$Z +634e+8 -235e+9 +199e+9 +113e+10 -363e+9 +216e+10
$Z genere2 $xT/VITESSES$COORD_X \
$Z 0 -1.46e+4 -3.44e+4 \
$Z -2.99e+4 \
$Z -1.27e+4 +9.67e+3 -3.21e+3 -6.84e+3 +1.42e+3 -2.27e+3
$Z genere2 $xT/VITESSES$COORD_Y \
$Z 0 +4.43e+4 +5.39e+3 \
$Z -3.88e+3 \
$Z -1.64e+4 +8.59e+3 -8.62e+3 -6.50e+2 -4.79e+3 -4.53e+3
$Z genere2 $xT/VITESSES$COORD_Z \
$Z 0 +2.52e+4 +4.60e+3 \
$Z -1.68e+3 \
$Z -7.18e+3 +3.44e+3 -3.42e+3 -1.88e+2 -2.00e+3 -7.39e+2
$Z genere2 $xT/MASSES \
$Z +2.0e30 +3.3e23 +48.7e23 \
$Z +60.5e23 \
$Z +6.4e23 +189.9e25 +56.8e25 +8.6e25 +10.3e25 +6.6e21
$Z genere2 $xT/RAYONS \
$Z +50e10 +30e10 +30e10 \
$Z +30e10 \
$Z +30e10 +40e10 +40e10 +35e10 +35e10 +30e10
$Z genere2 $xT/COULEURS$ROUGE \
$Z $GRIS_8 $GRIS_8 $GRIS_8 \
$Z $GRIS_0 \
$Z $GRIS_8 $GRIS_8 $GRIS_8 $GRIS_4 $GRIS_0 $GRIS_7
$Z genere2 $xT/COULEURS$VERTE \
$Z $GRIS_8 $GRIS_6 $GRIS_4 \
$Z $GRIS_6 \
$Z $GRIS_4 $GRIS_6 $GRIS_7 $GRIS_8 $GRIS_7 $GRIS_7
$Z genere2 $xT/COULEURS$BLEUE \
$Z $GRIS_0 $GRIS_2 $GRIS_0 \
$Z $GRIS_8 \
$Z $GRIS_2 $GRIS_0 $GRIS_0 $GRIS_8 $GRIS_8 $GRIS_8
$Z genere2 $xT/VISIBILITE \
$Z $_____Soleil $EXIST $EXIST \
$Z $EXIST \
$Z $EXIST $EXIST $EXIST $EXIST $EXIST $EXIST
$Z # Le Soleil est invisible... #
$Z $xrr/N_corps.11$X corps=$NcorpsS \
$Z np=$_____Nimages \
$Z LISTE_X=$xT/COORDONNEES$COORD_X \
$Z LISTE_Y=$xT/COORDONNEES$COORD_Y \
$Z LISTE_Z=$xT/COORDONNEES$COORD_Z \
$Z LISTE_VX=$xT/VITESSES$COORD_X \
$Z LISTE_VY=$xT/VITESSES$COORD_Y \
$Z LISTE_VZ=$xT/VITESSES$COORD_Z \
$Z LISTE_MASSE=$xT/MASSES \
$Z LISTE_RAYON=$xT/RAYONS \
$Z FACTEUR=$xT/FACTEUR_RAYONS \
$Z LISTE_ROUGE=$xT/COULEURS$ROUGE \
$Z LISTE_VERTE=$xT/COULEURS$VERTE \
$Z LISTE_BLEUE=$xT/COULEURS$BLEUE \
$Z LISTE_VISIBILITE=$xT/VISIBILITE \
$Z centrer=FAUX reference=$_____Reference \
$Z extension=5 \
$Z DCT=$xT/DCT \
$Z NOMBRE=$xT/NOMBRE_DCT \
$Z 2_a_2=FAUX source=1 \
$Z ensemble=VRAI \
$Z acceptable=0.5 \
$Z Ranterieurs=$_____Ranterieurs \
$Z Canterieurs=$_____Canterieurs \
$Z trainees=FAUX \
$Z attenuation_des_images=1.0 \
$Z attenuation_des_trainees=$_____Attenuation \
$Z mode_des_trainees=1 \
$Z renormaliser=FAUX \
$Z lineaire=$_____Lineaire exposant=0.4 \
$Z Lz=1.0e13 \
$Z observateurZ=$_____ObservateurZ \
$Z ZOOM=$xT/ZOOM \
$Z ROTATION_OX=$xT/ROTATION$COORD_X \
$Z ROTATION_OY=0 \
$Z ROTATION_OZ=0 \
$Z TRANSLATION_OX=0 \
$Z TRANSLATION_OY=$xT/TRANSLATION$COORD_Y \
$Z TRANSLATION_OZ=$xT/TRANSLATION$COORD_Z \
$Z fond=FAUX \
$Z editer_extrema_hors=FAUX \
$Z R=$_____images. \
$Z $formatI
$Z # Le parametre "observateurZ=" a ete introduit le 20070823144905... #
$Z
$Z $DELETE $xT/COORDONNEES$COORD_X
$Z $DELETE $xT/COORDONNEES$COORD_Y
$Z $DELETE $xT/COORDONNEES$COORD_Z
$Z $DELETE $xT/VITESSES$COORD_X
$Z $DELETE $xT/VITESSES$COORD_Y
$Z $DELETE $xT/VITESSES$COORD_Z
$Z $DELETE $xT/MASSES
$Z $DELETE $xT/RAYONS
$Z $DELETE $xT/FACTEUR_RAYONS
$Z $DELETE $xT/COULEURS$ROUGE
$Z $DELETE $xT/COULEURS$VERTE
$Z $DELETE $xT/COULEURS$BLEUE
$Z $DELETE $xT/VISIBILITE
$Z
$Z $DELETE $xT/DCT
$Z $DELETE $xT/NOMBRE_DCT
$Z $DELETE $xT/ZOOM
$Z $DELETE $xT/ROTATION$COORD_X
$Z $DELETE $xT/TRANSLATION$COORD_Y
$Z $DELETE $xT/TRANSLATION$COORD_Z