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