Chapter 10, Section 10.3.2, Figure 10.9

Define a function radout that produces a sine wave for the region outside the resonant radius.

radout[a_,amp_,n_,θ_] := a-amp*Sin[θ*n]

Define a function radin that produces a sine wave for the region inside the resonant radius.

radin[a_,amp_,n_,θ_] := a+amp*Sin[θ*n]

Generate four curves for the outside part.

outer = 
Table[
Plot[Evaluate[
radout[1.05+0.02*i, 0.05-0.01*i, 7, θ]],
{θ,0,2Pi},
PlotRange->All, DisplayFunction->Identity],
{i,0,3}];

Generate four curves for the inside part.

inner = 
Table[
Plot[Evaluate[
radin[0.95-0.02*i,  0.05-0.01*i, 7, θ]],
{θ,0,2Pi},
PlotRange->All,DisplayFunction->Identity],
{i,0,3}];

Show the curves together.  Note how we have arranged for the largest amplitude curves on either side to just touch at the exact resonance.

Show[inner,outer,DisplayFunction->$DisplayFunction]

Generate and transform the outer curves to display as polar coordinates.

outerc = 
Table[
ParametricPlot[{
Evaluate[radout[1.05+0.02*i,0.05-0.01*i,7,θ]]*Cos[θ],
Evaluate[radout[1.05+0.02*i,0.05-0.01*i,7,θ]]*Sin[θ]},
 {θ,0,2Pi},
 AspectRatio->Automatic,Axes->False,
 DisplayFunction->Identity,PlotPoints->100],
 {i,0,3}]

Generate and transform the inner curves to display as polar coordinates.

innerc = 
Table[
ParametricPlot[{
Evaluate[radin[0.95-0.02*i,0.05-0.01*i,7,θ]]*Cos[θ],
Evaluate[radin[0.95-0.02*i,0.05-0.01*i,7,θ]]*Sin[θ]},
 {θ,0,2Pi},
 AspectRatio->Automatic,Axes->False,
 DisplayFunction->Identity,PlotPoints->100],
 {i,0,3}]

Generate graphics objects for the centre, the planet and the exact resonance.

centre = Graphics[Point[{0,0}]];
planet = Graphics[Circle[{0,0},0.4]];
resonance =
 Graphics[{Dashing[{0.02,0.02}],Circle[{0,0},1]}];

Display the curves, the resonance and the planet (see Fig.10.9).

Show[planet,centre,resonance,innerc,outerc,
AspectRatio->1,DisplayFunction->$DisplayFunction]