Chapter 10, Section 10.4, Figure 10.12

Define a function, zin, that will be used to produce a wave perpendicular to the orbit plane.

zin[amp_,n_,θ_,rot_] :=  amp*Sin[θ*n-rot]

Create m = 2 vertical waves interior to the resonance.

inner = 
Table[
Plot[Evaluate[
zin[0.05-0.0025*i, 2, θ, i*Pi/10]],
{θ,0,2Pi},
PlotRange->All,DisplayFunction->Identity],
{i,0,20}];

Display these waves on a linear scale.

Show[inner,DisplayFunction->$DisplayFunction]

Generate and transform the m = 2 curves to display as polar coordinates.

innerc = Table[
ParametricPlot3D[
{
 Evaluate[(2-0.05*i)*Cos[θ]],
 Evaluate[(2-0.05*i)*Sin[θ]],
 Evaluate[
  zin[0.1, 2, θ, i*Pi/5]]},
 {θ,0,2Pi},AspectRatio->Automatic,Axes->False,
 DisplayFunction->Identity,PlotPoints->200],
 {i,0,20}]

Create a graphics object for the centre and generate a curve to denote the exact resonance.

centre = 
Graphics3D[Point[{0,0,0}],Boxed->False,Axes->False];
exact = 
ParametricPlot3D[{2.2*Cos[th],2.2*Sin[th],0},
  {th,0,2Pi},Boxed->False,Axes->False,
  AspectRatio->Automatic,DisplayFunction->Identity];

Display the centre, the exact resonance and the inner vertical waves (see Fig.10.12a).

Show[centre,exact,innerc,
      DisplayFunction->$DisplayFunction]

Create m = 4 vertical waves interior to the resonance.

innerc = Table[
ParametricPlot3D[
{
 Evaluate[(2-0.05*i)*Cos[th]],
 Evaluate[(2-0.05*i)*Sin[th]],
 Evaluate[
  zin[0.1, 4, th, i*Pi/5]]},
 {th,0,2Pi},AspectRatio->Automatic,Axes->False,
 DisplayFunction->Identity,PlotPoints->200],
 {i,0,20}]

Display the centre, the exact resonance and the inner vertical waves (see Fig.10.12b).

Show[centre,exact,innerc,
      DisplayFunction->$DisplayFunction]