#######################################################################################################################################
# #
# I N T E R P O L A T I O N D E P O I N T D E V U E #
# ( D E P L U T O N A U S O L E I L ) #
# D A N S L E S Y S T E M E S O L A I R E : #
# #
# #
# Author of '$xivP/disk.000000010/face.2/.NCOR.1.11.$U' : #
# #
# Jean-Francois Colonna (LACTAMME, AAAAMMJJhhmmss). #
# #
#######################################################################################################################################
$Z setParam _____Rotation_OX 0
$Z # Parametre introduit le 20070116101953... #
$Z setParam _____FictiveR $GRIS_0
$Z # Parametre introduit le 20070116102351... #
$Z setParam _____FictiveV $GRIS_4
$Z # Parametre introduit le 20070116102351... #
$Z setParam _____FictiveB $GRIS_8
$Z # Parametre introduit le 20070116102351... #
$Z SETParam _____Npremiere 1
$Z SETParam _____Nderniere 512
$Z setParam _____FacteurRayon `GetParam $xrr/N_corps.11$X Ar`
$Z # Parametre introduit le 20070116103134... #
$Z SETParam _____Reference 11
$Z # Parametre introduit le 20070116101953 et donnant par defaut le point de vue de la planete #
$Z # fictive... #
$Z # #
$Z # Le 20150318093224 fut introduite la possibilite que '$_____Reference' soit negatif. Dans #
$Z # Ce cas, c'est 'ABSO($_____Reference)' qui est utilise comme corps de reference, sauf pour #
$Z # la derniere image pour laquelle, on force '_____Reference=1' (c'est-a-dire le Soleil...). #
$Z setParam _____Ranterieurs `GetParam $xrr/N_corps.11$X Ranterieurs`
$Z # Argument introduit le 20070117102030... #
$Z setParam _____Canterieurs `GetParam $xrr/N_corps.11$X Canterieurs`
$Z # Argument introduit le 20070117102030... #
$Z setParam _____Zoom 0.60
$Z # Argument introduit le 20070117112119... #
$Z SETParam _____Ganimation $EXIST
$Z # Argument introduit le 20150318094828... #
$Z setParam _____Lineaire FAUX
$Z set NcorpsS=11
$Z $DELETE $xTV/ROTATION$COORD_X
$Z $xci/valeurs_inte$X p=$_____Npremiere d=$_____Nderniere vD=$_____Rotation_OX vA=$_____Rotation_OX cubique=VRAI \
$Z > $xTV/ROTATION$COORD_X
$Z
$Z alias genere '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
$Z genere $xTV/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 +60.5e23
$Z genere $xTV/RAYONS \
$Z +30e10 +18e10 +18e10 \
$Z +18e10 \
$Z +18e10 +23e10 +23e10 +21e10 +21e10 +18e10 \
$Z +18e10
$Z genere $xTV/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 $_____FictiveR
$Z genere $xTV/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 $_____FictiveV
$Z genere $xTV/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 $_____FictiveB
#20070117102413____:$Z Pal #
$c #define N0 _____Npremiere
$c #define N _____Nderniere
$c
$c #define NPAS (N-N0+1)
$c
$c extern double sqrt();
$c
$c int main()
$c {
$c int n;
$c
$c double XcentreS=+1e3;
$c double XcentreD=-392e+10;
$c double XcentreA;
$c
$c double YcentreS=+1e3;
$c double YcentreD=+307e+10;
$c double YcentreA;
$c
$c double ZcentreS=+1e3;
$c double ZcentreD=+216e+10;
$c double ZcentreA;
$c /* Les lettres {S,D,A} designent respectivement "le Soleil", la position de "Depart" de la */
$c /* planete fictive et sa position d'"Arrivee". */
$c /* */
$c /* On notera de plus que la position de Depart est celle de Pluton... */
$c
$c double XvitessD=-2.27e+3;
$c
$c double YvitessD=-4.53e+3;
$c
$c double ZvitessD=-7.39e+2;
$c
$c double Fcentre;
$c double OdistD;
$c
$c OdistD=sqrt(((XcentreD-XcentreS)*(XcentreD-XcentreS))+
$c ((YcentreD-YcentreS)*(YcentreD-YcentreS))+
$c ((ZcentreD-ZcentreS)*(ZcentreD-ZcentreS))
$c );
$c Fcentre=(0.05e11/OdistD);
$c
$c XcentreA=Fcentre*XcentreD;
$c YcentreA=Fcentre*YcentreD;
$c ZcentreA=Fcentre*ZcentreD;
$c
$c for (n=N0 ; n<=N ; n++)
$c {
$c int reference=(((_____Reference)<0) ? (-(_____Reference)) : (+(_____Reference)));
$c
$c double Xcentre;
$c double Ycentre;
$c double Zcentre;
$c
$c double Xvitess;
$c double Yvitess;
$c double Zvitess;
$c
$c double Odist;
$c
$c if ((_____Reference) < 0)
$c {
$c if (n==N)
$c {
$c reference=1;
$c }
$c else
$c {
$c }
$c }
$c else
$c {
$c }
$c
$c Xcentre=((XcentreA*(n-N0))+(XcentreD*(N-n)))/(N-N0);
$c Ycentre=((YcentreA*(n-N0))+(YcentreD*(N-n)))/(N-N0);
$c Zcentre=((ZcentreA*(n-N0))+(ZcentreD*(N-n)))/(N-N0);
$c /* Calcul de la position courante de la planete fictive... */
$c
$c Odist=sqrt(((Xcentre-XcentreS)*(Xcentre-XcentreS))+
$c ((Ycentre-YcentreS)*(Ycentre-YcentreS))+
$c ((Zcentre-ZcentreS)*(Zcentre-ZcentreS))
$c );
$c
$c Xvitess=XvitessD*sqrt(OdistD/Odist);
$c Yvitess=YvitessD*sqrt(OdistD/Odist);
$c Zvitess=ZvitessD*sqrt(OdistD/Odist);
$c
$c printf("genere
$c $xTV/COORDONNEES$COORD_X
$c %+g +514e+8 +213e+8
$c -203e+8
$c -204e+9 +501e+9 -134e+10 -150e+9 -436e+10
$c %+g %+g\n"
$c ,XcentreS,XcentreD,Xcentre
$c );
$c printf("genere
$c $xTV/COORDONNEES$COORD_Y
$c %+g +682e+7 +967e+8
$c +133e+9
$c +126e+9 -519e+9 +341e+9 +259e+10 -115e+10
$c %+g %+g\n"
$c ,YcentreS,YcentreD,Ycentre
$c );
$c printf("genere
$c $xTV/COORDONNEES$COORD_Z
$c %+g -163e+7 +422e+8
$c +579e+8
$c +634e+8 -235e+9 +199e+9 +113e+10 -363e+9
$c %+g %+g\n"
$c ,ZcentreS,ZcentreD,Zcentre
$c );
$c /* Mise en place dynamique du Soleil, de Pluton (position de "Depart") et de la planete */
$c /* fictive... */
$c
$c printf("genere
$c $xTV/VITESSES$COORD_X
$c 0 -1.46e+4 -3.44e+4
$c -2.99e+4
$c -1.27e+4 +9.67e+3 -3.21e+3 -6.84e+3 +1.42e+3
$c %+g %+g\n"
$c ,XvitessD,Xvitess
$c );
$c printf("genere
$c $xTV/VITESSES$COORD_Y
$c 0 +4.43e+4 +5.39e+3
$c -3.88e+3
$c -1.64e+4 +8.59e+3 -8.62e+3 -6.50e+2 -4.79e+3
$c %+g %+g\n"
$c ,YvitessD,Yvitess
$c );
$c printf("genere
$c $xTV/VITESSES$COORD_Z
$c 0 +2.52e+4 +4.60e+3
$c -1.68e+3
$c -7.18e+3 +3.44e+3 -3.42e+3 -1.88e+2 -2.00e+3
$c %+g %+g\n"
$c ,ZvitessD,Zvitess
$c );
$c /* Mise en place dynamique de Pluton (position de "Depart") et de la planete fictive. */
$c
$c printf("$xrr/N_corps.11$X
$c corps=$NcorpsS
$c np=%d
$c LISTE_X=$xTV/COORDONNEES$COORD_X
$c LISTE_Y=$xTV/COORDONNEES$COORD_Y
$c LISTE_Z=$xTV/COORDONNEES$COORD_Z
$c LISTE_VX=$xTV/VITESSES$COORD_X
$c LISTE_VY=$xTV/VITESSES$COORD_Y
$c LISTE_VZ=$xTV/VITESSES$COORD_Z
$c LISTE_MASSE=$xTV/MASSES
$c Ar=$_____FacteurRayon
$c LISTE_RAYON=$xTV/RAYONS
$c LISTE_ROUGE=$xTV/COULEURS$ROUGE
$c LISTE_VERTE=$xTV/COULEURS$VERTE
$c LISTE_BLEUE=$xTV/COULEURS$BLEUE
$c centrer=FAUX reference=%d
$c extension=5
$c dct=15000
$c 2_a_2=FAUX source=1
$c nombre=1000
$c ensemble=VRAI
$c acceptable=0.5
$c Ranterieurs=$_____Ranterieurs
$c Canterieurs=$_____Canterieurs
$c trainees=FAUX
$c renormaliser=FAUX
$c lineaire=$_____Lineaire exposant=0.4
$c Lz=1.0e13
$c TRANSLATION_OX=0
$c TRANSLATION_OY=0
$c ROTATION_OX=$xTV/ROTATION$COORD_X
$c ZOOM=$_____Zoom
$c fond=FAUX
$c pV=%d
$c editer_extrema_hors=FAUX
$c R=$xTV/NCOR.Wa.
$c $formatI\n"
$c ,NPAS
$c ,reference
$c ,NPAS
$c );
$c /* Le parametre "editer_extrema_hors=FAUX" a ete introduit le 20070117113134... */
$c
$c printf("$MV $xTV/NCOR.Wa.%04d$ROUGE
$c $_____images.%04d$ROUGE\n"
$c ,N,n
$c );
$c printf("$MV $xTV/NCOR.Wa.%04d$VERTE
$c $_____images.%04d$VERTE\n"
$c ,N,n
$c );
$c printf("$MV $xTV/NCOR.Wa.%04d$BLEUE
$c $_____images.%04d$BLEUE\n"
$c ,N,n
$c );
$c
$c printf("$DELETE $xTV/COORDONNEES$COORD_X\n");
$c printf("$DELETE $xTV/COORDONNEES$COORD_Y\n");
$c printf("$DELETE $xTV/COORDONNEES$COORD_Z\n");
$c
$c printf("$DELETE $xTV/VITESSES$COORD_X\n");
$c printf("$DELETE $xTV/VITESSES$COORD_Y\n");
$c printf("$DELETE $xTV/VITESSES$COORD_Z\n");
$c }
$c }
$Z $DELETE $xTV/MASSES
$Z $DELETE $xTV/RAYONS
$Z $DELETE $xTV/COULEURS$ROUGE
$Z $DELETE $xTV/COULEURS$VERTE
$Z $DELETE $xTV/COULEURS$BLEUE
$Z
$Z $DELETE $xTV/ROTATION$COORD_X
$Z if ($_____Ganimation == $EXIST) then
$Z # Test introduit le 20150318094828... #
$Z $xci/reduction_16$Z $_____images. \
$Z $_____animation \
$Z $_____Npremiere $_____Nderniere \
$Z VRAI VRAI VRAI VRAI
$Z $xci/reduction_64$Z $_____images. \
$Z $_____animation \
$Z $_____Npremiere $_____Nderniere \
$Z VRAI VRAI VRAI VRAI
$Z execRVB ro $_____animation$R16$%s
$Z execRVB ro $_____animation$R64$%s
$Z
$Z execRVB $xcg/unite$Z $_____animation$R16$%s
$Z execRVB $xcg/unite$Z $_____animation$R64$%s
$Z else
$Z endif