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