Chapter 2, Section 2.6, Figure 2.10

In order to illustrate the guiding centre motion we need to draw a small 2:1 centred ellipse at different points on a circle (the path of the guiding centre) as well as the location of the particle on the 2:1 ellipse and the keplerian elliptical path.  First set the eccentricity of orbit to be ecc=0.2.

ecc=0.2;

Now define a function ellipse that will draw a dashed-line, 2:1 centred ellipse with centre (xc,yc), of eccentricity ec rotated at an angle θ.

ellipse[{xc_,yc_},ec_,θ_] :=
  Module[{ϕ,rot},
   rot = {{Cos[θ], -Sin[θ]},
          {Sin[θ],  Cos[θ]}};
   pointlist = {};
   Do[AppendTo[pointlist,
         {xc,yc} + rot.{ec*Cos[ϕ], 2*ec*Sin[ϕ]}],
      {ϕ,0,2Pi,Pi/10}];
   Graphics[{Dashing[{0.01, 0.01}],
             Line[pointlist]}]];

Create a graphics object for a dashed-line circle to show the path of the epicentre ...

c = Graphics[{Point[{-2*ecc,0}],
      Dashing[{0.01, 0.01}],Circle[{0,0},1]}];

... and one to show the elliptical keplerian path of the particle.

e = Graphics[{Disk[{0,0},0.1],
      Circle[{-ecc,0},{1,Sqrt[1-ecc^2]}]}];

Now set up a loop to draw the circle, ellipse and the epicycle together with suitable lines.  Each plot is stored in an array p.

Do[
  m = i*Pi/3;
  cm = Cos[m];
  sm = Sin[m];
  f  = m + 2 * ecc * sm;
  r = (1-ecc^2)/(1+ecc*Cos[f]);
  xp = r * Cos[f];  yp = r * Sin[f];
  xe = cm;  ye = sm;
  p[i]=
  Show[c,e,ellipse[{xe,ye},ecc,m],
       Graphics[{Disk[{xp,yp},0.05]}],
       Graphics[{Line[{{0,0},{xe,ye}}],
                 Line[{{xe,ye},{xp,yp}}],
                 Line[{{-2*ecc,0},{xp,yp}}],
                 Line[{{xp,yp},{0,0}}]}
      ],
   AspectRatio->Automatic,
   PlotRange->{{-1.4,1.4},{-1.4,1.4}}],
  {i,0,5}]

Now display the content of p as a graphics array.

Show[GraphicsArray[
  {{p[0],p[1],p[2]},
   {p[3],p[4],p[5]}}]]