#######################################################################################################################################
#                                                                                                                                     #
#         V I S U A L I S A T I O N   D E   L A   " C O U R B E   D U   C H I E N "                                                   #
#         D A N S   L E   S Y S T E M E   S O L A I R E  :                                                                            #
#                                                                                                                                     #
#                                                                                                                                     #
#         Author of '$xiak/.NCOS.F.23.$U' :                                                                                           #
#                                                                                                                                     #
#                     Jean-Francois COLONNA (LACTAMME, 20250125101710).                                                               #
#                                                                                                                                     #
#######################################################################################################################################

$Z                  setParam            _____PeriodeDepart            1

$Z                  setParam            _____Terre                    4
$Z                  setParam            _____Mars                     5

#20250126112703____:$Z                  setParam            _____FuseeVitesse             26500                                       #
#20250126114811____:$Z                  setParam            _____FuseeVitesse             26580                                       #
#20250126120305____:$Z                  setParam            _____FuseeVitesse             26640                                       #
#20250126121407____:$Z                  setParam            _____FuseeVitesse             26740                                       #
#20250126122734____:$Z                  setParam            _____FuseeVitesse             26860                                       #
#20250126122734____:$Z                  setParam            _____FuseeVitesse             27400                                       #
#20250126124651____:$Z                  setParam            _____FuseeVitesse             28400                                       #
#20250128115607____:$Z                  setParam            _____FuseeVitesse             27900                                       #

$Z                  set                 ArGuMs="$K_VIDE"
$Z                  set                 ArGuMs="$ArGuMs"" p=$Premiere"
$Z                  set                 ArGuMs="$ArGuMs"" d=$Derniere"
$Z                  set                 ArGuMs="$ArGuMs"" lineaire=VRAI"
$Z                  set                 ArGuMs="$ArGuMs"" entiers=VRAI"
$Z                  setParam            _____FuseeVitesse             `$xci/valeurs_inte$X vD=27900 vA=27900 $ArGuMs signe="$K_VIDE"`
$Z                  unset               ArGuMs

$Z                  setParam            _____FuseeROUGE               $GRIS_8
$Z                  setParam            _____FuseeVERTE               $GRIS_8
$Z                  setParam            _____FuseeBLEUE               $GRIS_8
$Z                  setParam            _____FuseeRayon               6000000000

$Z                  SETParam            _____Pas                      1

$Z                  setParam            _____AXYZ                     24.0e-13

$Z                  setParam            _____AttenuationCouleurs      1

$Z                  setParam            _____FacteurRayons            1.5e-12

$Z                  setParam            _____ParamParticule           "$K_VIDE"

#20250125182035____:$Z                  setParam            _____AttenuationTrainees      0.9960                                      #
#20250125182035____:$Z                  setParam            _____TraineesRapide           VRAI                                        #

#20250126110258____:$Z                  setParam            _____AttenuationTrainees      0.980                                       #
#20250126112249____:$Z                  setParam            _____AttenuationTrainees      "0.98 1"                                    #
#20250126114811____:$Z                  setParam            _____AttenuationTrainees      "0.996 1"                                   #
#20250126120305____:$Z                  setParam            _____AttenuationTrainees      "0.990 1"                                   #
$Z                  setParam            _____AttenuationTrainees      "0.990 1 1"
$Z                  set                 _____AttenuationTrainees=($_____AttenuationTrainees)

#20250126112249____:$Z                  setParam            _____TraineesRapide           FAUX                                        #
$Z                  setParam            _____TraineesRapide           VRAI

$Z        execRVB   $xci/init$X                                                                                                         \
$Z                                      n=$NOIR                                                                                         \
$Z                                      R=$xTV/FOND%s                                                                                   \
$Z                                                                                                                      $formatI

#20250128115031____:$Z                  set       DePlAcEmEnT=`$xcg/MUL3.01$X a=$_____FuseeVitesse b=$_____Nombre c=$_____Dct`        #

$Z                  set       PaRaMeTrEs="$K_VIDE"
$Z                  set       PaRaMeTrEs="$PaRaMeTrEs"" np=1"
$Z                  set       PaRaMeTrEs="$PaRaMeTrEs"" Lz=100"
$Z                  set       PaRaMeTrEs="$PaRaMeTrEs"" editer_extrema_hors=FAUX"
$Z                  set       PaRaMeTrEs="$PaRaMeTrEs"" zoom_automatique=FAUX ZOOM=1.0"
$Z                  set       PaRaMeTrEs="$PaRaMeTrEs"" coordonnees_dans_0_1=VRAI"
$Z                  set       PaRaMeTrEs="$PaRaMeTrEs"" AXYZ=$_____AXYZ BXYZ=0.5"
$Z                  set       PaRaMeTrEs="$PaRaMeTrEs"" TRANSLATION_OX=0.0 TRANSLATION_OY=0.0"
#20250127120911____:$Z                  set       PaRaMeTrEs="$PaRaMeTrEs"" centrer=FAUX reference=$_____Reference"                   #
$Z                  set       PaRaMeTrEs="$PaRaMeTrEs"" centrer=FAUX"
$Z                  set       PaRaMeTrEs="$PaRaMeTrEs"" attenuation_au_bord=0.25"
$Z                  set       PaRaMeTrEs="$PaRaMeTrEs"" $_____ParamParticule"
$Z                  set       PaRaMeTrEs="$PaRaMeTrEs"" fond=VRAI F=$xTV/FOND"
$Z                  set       PaRaMeTrEs="$PaRaMeTrEs"" chiffres=0"

$Z                  set       ReFeReNcE="$K_VIDE"
$Z                                      # Corps de reference par defaut....                                                           #

$c                  #define   N0        Premiere
$c                  #define   N         Derniere
$c                  #define   PAS       _____Pas
$c
$c                  int       main()
$c                            {
$c                            int       n;
$c
$c                            for       (n=N0 ; n<=N ; n=n+PAS)
$c                                      {
$c                                      printf("$DELETE     $xTV/COORDONNEES_1\n");
$c                                      printf("$DELETE     $xTV/COORDONNEES_1$COORD_X\n");
$c                                      printf("$DELETE     $xTV/COORDONNEES_1$COORD_Y\n");
$c                                      printf("$DELETE     $xTV/COORDONNEES_1$COORD_Z\n");
$c                                      printf("$DELETE     $xTV/RAYONS_1\n");
$c                                      printf("$DELETE     $xTV/COULEURS_1$ROUGE\n");
$c                                      printf("$DELETE     $xTV/COULEURS_1$VERTE\n");
$c                                      printf("$DELETE     $xTV/COULEURS_1$BLEUE\n");
$c
$c                                      printf("$CA         $xTV/LISTE_POINTS                       |
$c                                              $GRE        'periode=%d '
$c                                                          > $xTV/COORDONNEES_1\n"
$c                                            ,n,'"','"'
$c                                             );
$c
$c                                      printf("set  Particules_1=`$CA $xTV/COORDONNEES_1 | $WCl`\n");
$c
$c                                      printf("$CA         $xTV/COORDONNEES_1                      |
$c                                              $SE         -e %cs/^.* X=//%c
$c                                                          -e %cs/ .*//%c
$c                                                          >>! $xTV/COORDONNEES_1$COORD_X\n"
$c                                            ,'"','"','"','"'
$c                                             );
$c                                      printf("$CA         $xTV/COORDONNEES_1                      |
$c                                              $SE         -e %cs/^.* Y=//%c
$c                                                          -e %cs/ .*//%c
$c                                                          >>! $xTV/COORDONNEES_1$COORD_Y\n"
$c                                            ,'"','"','"','"'
$c                                             );
$c                                      printf("$CA         $xTV/COORDONNEES_1                      |
$c                                              $SE         -e %cs/^.* Z=//%c
$c                                                          -e %cs/ .*//%c
$c                                                          >>! $xTV/COORDONNEES_1$COORD_Z\n"
$c                                            ,'"','"','"','"'
$c                                             );
$c
$c                                      printf("$CA         $xTV/COORDONNEES_1                      |
$c                                              $SE         -e %cs/^.* RAYON=//%c
$c                                                          -e %cs/ .*//%c
$c                                                          >>! $xTV/RAYONS_1\n"
$c                                            ,'"','"','"','"'
$c                                             );
$c
$c                                      printf("$CA         $xTV/COORDONNEES_1                      |
$c                                              $SE         -e %cs/^.* ROUGE=//%c
$c                                                          -e %cs/ .*//%c
$c                                                          >>! $xTV/COULEURS_1$ROUGE\n"
$c                                            ,'"','"','"','"'
$c                                             );
$c                                      printf("$CA         $xTV/COORDONNEES_1                      |
$c                                              $SE         -e %cs/^.* VERTE=//%c
$c                                                          -e %cs/ .*//%c
$c                                                          >>! $xTV/COULEURS_1$VERTE\n"
$c                                            ,'"','"','"','"'
$c                                             );
$c                                      printf("$CA         $xTV/COORDONNEES_1                      |
$c                                              $SE         -e %cs/^.* BLEUE=//%c
$c                                                          -e %cs/ .*//%c
$c                                                          >>! $xTV/COULEURS_1$BLEUE\n"
$c                                            ,'"','"','"','"'
$c                                             );
$c
$c                                      printf("if          (%d < $_____PeriodeDepart) then\n"
$c                                            ,n
$c                                             );
$c                                              printf("if          ($_____Reference != 1) then\n");
$c                                                      printf("set       ReFeReNcE='reference=2'\n");
$c                                      /* Au depart c'est la Terre (corps 2) qui est utilisee comme corps de reference...           */
$c                                              printf("else\n");
$c                                              printf("endif\n");
$c                                      printf("else\n");
$c                                      printf("endif\n");
$c
$c                                      printf("if          (%d == $_____PeriodeDepart) then\n"
$c                                            ,n
$c                                             );
$c                                              printf("if          ($_____Reference != 1) then\n");
$c                                                      printf("set       ReFeReNcE='reference=2'\n");
$c                                      /* Au depart c'est la Terre (corps 2) qui est utilisee comme corps de reference...           */
$c                                              printf("else\n");
$c                                              printf("endif\n");
$c
$c      printf("set  Fusee_X=`$CA $xTV/COORDONNEES_1 | $GRE %c IDENTITE=$_____Terre %c | $AW ' { print $2 } ' | $SE -e 's/X=//'`\n"
$c            ,'"','"'
$c             );
$c      printf("set  Fusee_Y=`$CA $xTV/COORDONNEES_1 | $GRE %c IDENTITE=$_____Terre %c | $AW ' { print $3 } ' | $SE -e 's/Y=//'`\n"
$c            ,'"','"'
$c             );
$c      printf("set  Fusee_Z=`$CA $xTV/COORDONNEES_1 | $GRE %c IDENTITE=$_____Terre %c | $AW ' { print $4 } ' | $SE -e 's/Z=//'`\n"
$c            ,'"','"'
$c             );
$c                                      printf("else\n");
$c                                      printf("endif\n");
$c
$c                                      printf("if          (%d > $_____PeriodeDepart) then\n"
$c                                            ,n
$c                                             );
$c                                              printf("if          ($_____Reference != 1) then\n");
$c                                                      printf("set       ReFeReNcE='reference=$_____Reference'\n");
$c                                      /* Ensuite, c'est le corps '$_____Reference' qui est utilisee comme corps de reference...    */
$c                                              printf("else\n");
$c                                              printf("endif\n");
$c
$c      printf("set  Terre_X=`$CA $xTV/COORDONNEES_1 | $GRE %c IDENTITE=$_____Terre %c | $AW ' { print $2 } ' | $SE -e 's/X=//'`\n"
$c            ,'"','"'
$c             );
$c      printf("set  Terre_Y=`$CA $xTV/COORDONNEES_1 | $GRE %c IDENTITE=$_____Terre %c | $AW ' { print $3 } ' | $SE -e 's/Y=//'`\n"
$c            ,'"','"'
$c             );
$c      printf("set  Terre_Z=`$CA $xTV/COORDONNEES_1 | $GRE %c IDENTITE=$_____Terre %c | $AW ' { print $4 } ' | $SE -e 's/Z=//'`\n"
$c            ,'"','"'
$c             );
$c
$c      printf("set  Mars_X=`$CA $xTV/COORDONNEES_1  | $GRE %c IDENTITE=$_____Mars %c  | $AW ' { print $2 } ' | $SE -e 's/X=//'`\n"
$c            ,'"','"'
$c             );
$c      printf("set  Mars_Y=`$CA $xTV/COORDONNEES_1  | $GRE %c IDENTITE=$_____Mars %c  | $AW ' { print $3 } ' | $SE -e 's/Y=//'`\n"
$c            ,'"','"'
$c             );
$c      printf("set  Mars_Z=`$CA $xTV/COORDONNEES_1  | $GRE %c IDENTITE=$_____Mars %c  | $AW ' { print $4 } ' | $SE -e 's/Z=//'`\n"
$c            ,'"','"'
$c             );
$c
$c                                              printf("set  TM_X=`$xcg/SOUS.01$X a=$Mars_X b=$Fusee_X`\n");
$c                                              printf("set  TM_Y=`$xcg/SOUS.01$X a=$Mars_Y b=$Fusee_Y`\n");
$c                                              printf("set  TM_Z=`$xcg/SOUS.01$X a=$Mars_Z b=$Fusee_Z`\n");
$c
$c                                              printf("set  MoDuLe=`calcul sqrt(pow($TM_X,2)+pow($TM_Y,2)+pow($TM_Z,2))`\n");
$c
$c                                              printf("set  TM_X=`$xcg/DIVZ.01$X a=$TM_X b=$MoDuLe`\n");
$c                                              printf("set  TM_Y=`$xcg/DIVZ.01$X a=$TM_Y b=$MoDuLe`\n");
$c                                              printf("set  TM_Z=`$xcg/DIVZ.01$X a=$TM_Z b=$MoDuLe`\n");
$c
#20250128115607____:$c                printf("set  DePlAcEmEnT=`$xcg/MUL3.01$X a=$_____FuseeVitesse b=$_____Nombre c=$_____Dct`\n");  #
$c                               printf("set  DePlAcEmEnT=`$xcg/MUL3.01$X a=$_____FuseeVitesse[%d] b=$_____Nombre c=$_____Dct`\n"
$c                                     ,n
$c                                      );
$c
$c                                              printf("set  Fusee_X=`$xcg/AXPB.01$X a=$DePlAcEmEnT x=$TM_X b=$Fusee_X`\n");
$c                                              printf("set  Fusee_Y=`$xcg/AXPB.01$X a=$DePlAcEmEnT x=$TM_Y b=$Fusee_Y`\n");
$c                                              printf("set  Fusee_Z=`$xcg/AXPB.01$X a=$DePlAcEmEnT x=$TM_Z b=$Fusee_Z`\n");
$c
$c                                              printf("echo        $Fusee_X
$c                                                                  >>! $xTV/COORDONNEES_1$COORD_X\n"
$c                                                     );
$c                                              printf("echo        $Fusee_Y
$c                                                                  >>! $xTV/COORDONNEES_1$COORD_Y\n"
$c                                                     );
$c                                              printf("echo        $Fusee_Z
$c                                                                  >>! $xTV/COORDONNEES_1$COORD_Z\n"
$c                                                     );
$c
$c                                              printf("echo        $_____FuseeRayon
$c                                                                  >>! $xTV/RAYONS_1\n"
$c                                                     );
$c
$c                                              printf("echo        $_____FuseeROUGE
$c                                                                  >>! $xTV/COULEURS_1$ROUGE\n"
$c                                                     );
$c                                              printf("echo        $_____FuseeVERTE
$c                                                                  >>! $xTV/COULEURS_1$VERTE\n"
$c                                                     );
$c                                              printf("echo        $_____FuseeBLEUE
$c                                                                  >>! $xTV/COULEURS_1$BLEUE\n"
$c                                                     );
$c
$c                                              printf("@    Particules_1 = $Particules_1 + 1\n");
$c                                      printf("else\n");
$c                                      printf("endif\n");
$c
$c                                      printf("eval      $xrv/particule.10$X
$c                                                                    $ReFeReNcE
$c                                                                    iterations=$Particules_1
$c                                                                    $PaRaMeTrEs
$c                                                                    LISTE_X=$xTV/COORDONNEES_1$COORD_X
$c                                                                    LISTE_Y=$xTV/COORDONNEES_1$COORD_Y
$c                                                                    LISTE_Z=$xTV/COORDONNEES_1$COORD_Z
$c                                                                    LISTE_RAYON=$xTV/RAYONS_1
$c                                                                    Ar=$_____FacteurRayons
$c                                                                    isoles=VRAI
$c                                                                    AR=$_____AttenuationCouleurs
$c                                                                    LISTE_ROUGE=$xTV/COULEURS_1$ROUGE
$c                                                                    AV=$_____AttenuationCouleurs
$c                                                                    LISTE_VERTE=$xTV/COULEURS_1$VERTE
$c                                                                    AB=$_____AttenuationCouleurs
$c                                                                    LISTE_BLEUE=$xTV/COULEURS_1$BLEUE
$c                                                                    R=$_____ImageT.%04d
$c                                                                              $formatI\n"
$c                                            ,n
$c                                             );
$c                                      /* Le 'eval' a ete introduit le 20250127124115 a cause de l'eventuel :                       */
$c                                      /*                                                                                           */
$c                                      /*                  reference=$_____Reference                                                */
$c                                      /*                                                                                           */
$c                                      /* qu'il faut interpreter...                                                                 */
$c
$c                                      printf("@    index = %d %% $#_____AttenuationTrainees + 1\n"
$c                                            ,n-1
$c                                             );
$c                                      /* Le 202501261122495, j'ai compris que l'attenuation des trainees ne pouvait pas etre       */
$c                                      /* constante en particulier lorsque le nombre d'images a generer est superieurau niveau      */
$c                                      /* de 'BLANC'...                                                                             */
$c                                      printf("execRVB     $xci/scale$X
$c                                                                    A=$_____ImageT.%04d%%s
$c                                                                    a=$_____AttenuationTrainees[$index] b=0
$c                                                                    rapide=$_____TraineesRapide
$c                                                                    translation_Ifloat_std=0
$c                                                                    R=$xTV/FOND%%s
$c                                                                              $formatI\n"
$c                                            ,n
$c                                             );
$c                                      /* Le parametre "translation_Ifloat_std=0" a ete introduit le 20250126110258 afin d'eviter   */
$c                                      /* qu'a partir d'un certain rang d'accumulation, il y ait "stagnation" (par defaut, ce       */
$c                                      /* parametre vaut 0.5). Evidemment cela n'est utile que si '$_____TraineesRapide=FAUX'...    */
$c                                      }
$c                            }



Copyright © Jean-François COLONNA, 2025-2025.
Copyright © CMAP (Centre de Mathématiques APpliquées) UMR CNRS 7641 / École polytechnique, Institut Polytechnique de Paris, 2025-2025.