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



Copyright © Jean-François Colonna, 2019-2021.
Copyright © CMAP (Centre de Mathématiques APpliquées) UMR CNRS 7641 / Ecole Polytechnique, 2019-2021.