X-Git-Url: https://melusine.eu.org/syracuse/G/git/?p=pst-eqdf.git;a=blobdiff_plain;f=gravitation%2Fanimation_kepler16_pstricks.tex;fp=gravitation%2Fanimation_kepler16_pstricks.tex;h=3a8fd5b26c1285e2fa97f5a4d754967b2895825b;hp=0000000000000000000000000000000000000000;hb=0747313425c353e89ef3195c3b04ab229fadd780;hpb=dc2142392ad1b3095ceb0172db23f1ca85045ffa diff --git a/gravitation/animation_kepler16_pstricks.tex b/gravitation/animation_kepler16_pstricks.tex new file mode 100644 index 0000000..3a8fd5b --- /dev/null +++ b/gravitation/animation_kepler16_pstricks.tex @@ -0,0 +1,297 @@ + +\documentclass{article} +\usepackage[a4paper,margin=2cm]{geometry} +\usepackage[T1]{fontenc} +\usepackage[latin1]{inputenc}% +\usepackage[garamond]{mathdesign} +\usepackage{pstricks,pst-eqdf,pst-node} +\usepackage{animate} +\newpsstyle{vecteurA}{arrowinset=0.05,arrowsize=0.1,linecolor={[rgb]{1 0.5 0}}} +\newpsstyle{vecteurB}{arrowinset=0.05,arrowsize=0.1,linecolor={[rgb]{0 0.5 1}}} +\newpsstyle{vecteurC}{arrowinset=0.1,arrowsize=0.2,linecolor={[rgb]{1 0 0}}} +%timeline +\begin{filecontents}{kepler16.dat} +::0x0 +::1 +::2 +::3 +::4 +::5 +::6 +::7 +::8 +::9 +::10 +::11 +::12 +::13 +::14 +::15 +::16 +::17 +::18 +::19 +::20 +::21 +::22 +::23 +::24 +::25 +::26 +::27 +::28 +::29 +::30 +::31 +::32 +::33 +::34 +::35 +::36 +::37 +::38 +::39 +::40 +::41 +::42 +::43 +::44 +::45 +::46 +::47 +::48 +::49 +::50 +::51 +::52 +::53 +::54 +::55 +::56 +::57 +::58 +::59 +::60 +::61 +::62 +::63 +::64 +::65 +::66 +::67 +::68 +::69 +::70 +::71 +::72 +::73 +::74 +::75 +::76 +::77 +::78 +::79 +::80 +::81 +::82 +::83 +::84 +::85 +::86 +::87 +::88 +::89 +::90 +::91 +::92 +::93 +::94 +::95 +::96 +::97 +::98 +::99 +::100 +::101 +::102 +::103 +::104 +::105 +::106 +::107 +::108 +::109 +::110 +::111 +::112 +::113 +::114 +::115 +::116 +::117 +::118 +::119 +::120 +::121 +::122 +::123 +::124 +::125 +::126 +::127 +::128 +::129 +::130 +::131 +::132 +::133 +::134 +::135 +::136 +::137 +::138 +::139 +::140 +::141 +::142 +::143 +::144 +::145 +::146 +::147 +::148 +::149 +::150 +::151 +::152 +::153 +::154 +::155 +::156 +::157 +::158 +::159 +::160 +::161 +::162 +::163 +::164 +::165 +::166 +::167 +::168 +::169 +::170 +::171 +::172 +::173 +::174 +::175 +::176 +::177 +::178 +::179 +::180 +::181 +::182 +::183 +::184 +::185 +::186 +::187 +::188 +::189 +::190 +::191 +::192 +::193 +::194 +::195 +::196 +::197 +::198 +::199 +::200 +\end{filecontents} +%%%%%%%%%%%%%%%%%% +\makeatletter +%% adapté de \psRandom du package pstricks-add +%% pour rendre aléatoire la taille des étoiles +%% Manuel Luque +\newdimen\pssizeStar +\def\psset@sizeStar#1{\pssetlength\pssizeStar{#1}} +\psset@sizeStar{1pt} +\define@key[psset]{pst-eqd}{randomPoints}[1000]{\def\psk@randomPoints{#1}} +\psset[pst-eqd]{randomPoints=1000} +\define@boolkey[psset]{pst-eqd}[Pst@]{color}[true]{} +\psset[pst-eqd]{color=false} +\def\psRandomStar{\pst@object{psRandomStar}}% +\def\psRandomStar@i{\@ifnextchar({\psRandomStar@ii}{\psRandomStar@iii(0,0)(1,1)}} +\def\psRandomStar@ii(#1){\@ifnextchar({\psRandomStar@iii(#1)}{\psRandomStar@iii(0,0)(#1)}} +\def\psRandomStar@iii(#1)(#2)#3{% + \def\pst@tempA{#3}% + \ifx\pst@tempA\pst@empty\psclip{\psframe(#2)}\else\psclip{#3}\fi + \pst@getcoor{#1}\pst@tempA + \pst@getcoor{#2}\pst@tempB + \begin@SpecialObj + \addto@pscode{ + \pst@tempA\space /yMin exch def + /xMin exch def + \pst@tempB\space /yMax exch def + /xMax exch def + /dy yMax yMin sub def + /dx xMax xMin sub def + rrand srand % initializes the random generator + /getRandReal { rand 2147483647 div } def + \psk@randomPoints { + /DS \pst@number\pssizeStar\space getRandReal mul def + \@nameuse{psds@\psk@dotstyle} + \ifPst@color getRandReal 1 1 sethsbcolor \fi + getRandReal dx mul xMin add + getRandReal dy mul yMin add + Dot + \ifx\psk@fillstyle\psfs@solid fill \fi stroke + } repeat + }% + \end@SpecialObj + \endpsclip + \ignorespaces +} +\makeatother +%%%%%%%%%%%%%%%%%%%%%%% +\title{Gravitation : une planète à deux soleils comme Tatooine celle de Luke Skywalker dans La Guerre des étoiles} +\date{10 juillet 2\,012} +\begin{document} +\begin{center} +\pstVerb{/XY1 [(XAYA.dat) run] def + /XY2 [(XBYB.dat) run] def + /XY3 [(XPYP.dat) run] def + }% +\def\nFrames{200}% 200 images +\begin{animateinline}[controls,timeline=kepler16.dat,loop,% + begin={\begin{pspicture}(-8,-8)(8,8)}, + end={\end{pspicture}}]{5}% 5 images/s +\psframe*[linecolor={[cmyk]{1 1 0 0.7}}](-8,-8)(8,8) +\psRandomStar[linecolor={[rgb]{1,1,0.5}}, + randomPoints=1000,sizeStar=1pt](-8,-8)(8,8){\psframe[linestyle=none](-8,-8)(8,8)} +%\listplot[linecolor=gray]{XY1 aload pop} +%\listplot[linecolor=gray]{XY2 aload pop} +%\listplot[linecolor=gray]{XY3 aload pop} +\newframe +\multiframe{\nFrames}{i=0+10}{% 1 point sur 10 +\pstVerb{/X1 XY1 \i\space get def + /Y1 XY1 \i\space 1 add get def + /X2 XY2 \i\space get def + /Y2 XY2 \i\space 1 add get def + /X3 XY3 \i\space get def + /Y3 XY3 \i\space 1 add get def + }% +%\psdot(!X1 Y1) +\pscircle*[linecolor=yellow](!X1 Y1){0.5} +\pscircle*[linecolor=red](!X2 Y2){0.2} +\pscircle*[linecolor=white](!X3 Y3){0.07} +} +\end{animateinline} +\end{center} +\end{document} +