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