Chapter 4, Section 4.7, Figure 4.10

We define two functions to plot the different kinds of distortions.  

The first function, Tidal, uses ParametricPlot3D to plot the shape due to tidal distortion.  Here we use a quantity α to denote the magnitude of the distortion.  We use the equations for x, y and z expressed in spherical polar coordinates r, θ, ϕ and use radial values of 1+α, 1-α/2 and 1-α/2 to ensure a > b = c.

Tidal[α_] := 
      ParametricPlot3D[{(1 + α)* 
            Cos[ϕ] Sin[θ], (1 - α/2)* 
            Sin[θ] Sin[ϕ], (1 - α/2)* 
            Cos[θ]}, {ϕ, 0, 2  π}, {θ, 0, π}, 
        Axes -> False, Boxed -> False, PlotPoints -> {40, 40}, 
        SphericalRegion -> True]

The second function, Rotational, uses ParametricPlot3D to plot the shape due to rotational distortion.  Again we use a quantity α to denote the magnitude of the distortion.  We use the equations for x, y and z expressed in spherical polar coordinates r, θ, ϕ and use radial values of 1+α/6, 1+α/6 and 1-α/3 to ensure a = b > c.

Rotational[α_] := 
      ParametricPlot3D[{(1 + α/6)* 
            Cos[ϕ] Sin[θ], (1 + α/6)* 
            Sin[θ] Sin[ϕ], (1 - α/3)* 
            Cos[θ]}, {ϕ, 0, 2  π}, {θ, 0, π}, 
        Axes -> False, Boxed -> False, PlotPoints -> {40, 40}, 
        SphericalRegion -> True]

As a check make sure we get a sphere when we plot with α = 0.

surf0 = Rotational[0]

Now plot the rotational deformations with α = 0.7

surf1 = Rotational[0.7]

This is followed by the tidally distorted shape with α = 0.3.

surf2 = Tidal[0.3]

Set up the three axes to add to the plots.

xaxis = 
        Graphics3D[Line[{{-1.7, 0, 0}, {1.7, 0, 0}}]];
yaxis = 
        Graphics3D[Line[{{0, -1.7, 0}, {0, 1.7, 0}}]];
zaxis = 
        Graphics3D[Line[{{0, 0, -1.7}, {0, 0, 1.7}}]];

Show the rotational surface with axes.

Show[surf1, xaxis, yaxis, zaxis, SphericalRegion -> True]

Show the tidal surface with axes.

Show[surf2, xaxis, yaxis, zaxis, SphericalRegion -> True]