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