Chapter 2, Section 2.3, Figure 2.4

Load an Add-on Package to do the parametric plot of the cone.

<<Graphics`ParametricPlot3D`

Create the basic information for drawing a cone (as a list of polygons) using ParametricPlot3D

tcone=
 First[ParametricPlot3D[{(1-z)Cos[u],(1-z)Sin[u],z},
   {u,0,2Pi,Pi/30},{z,0,1,0.1},
   Boxed->False, BoxRatios->{1,1,1},
   Axes->False,AspectRatio->Automatic,
   ColorOutput->GrayLevel,
   DisplayFunction->Identity]];

Now make this a Graphics3D object with no drawn edges.

cone = Graphics3D[{EdgeForm[], tcone}];

Display the resulting cone.

Show[cone,Boxed->False,AspectRatio->1,
     ViewPoint->{1.728, -2.906, 0.127},
     ColorOutput->GrayLevel,
     DisplayFunction->$DisplayFunction]

Now define Graphics3D objects for four planes that intersect the cone to create each of the four conic sections (circle, ellipse, hyperbola and parabola).

circle=Graphics3D[Polygon[
{{-0.4,0.4,0.8},{-0.4,-0.4,0.8},
{0.4,-0.4,0.8},{0.4,0.4,0.8},{-0.4,0.4,0.8}}]];

ellipse=Graphics3D[Polygon[
{{-0.6,0.5,0.55},{-0.6,-0.5,0.55},
{0.5,-0.5,0.7},{0.5,0.5,0.7},{-0.6,0.5,0.55}}]];

parabola=Graphics3D[Polygon[
{{0.3,1.1,0},{0.3,-1.1,0},
{0.8,-1.1,0.7},{0.8,1.1,0.7},{0.3,1.1,0}}]];

hyperbola=Graphics3D[Polygon[
{{-0.7,-1,0},{-0.7,1,0},
{-0.7,1,0.5},{-0.7,-1,0.5},{-0.7,-1,0}}]];

Display the resulting planes.

Show[circle,ellipse,parabola,hyperbola,
     ViewPoint->{-2.219, -4.715, 3.818}]

Add these to the display of the cone itself.

Show[cone,circle,ellipse,parabola,hyperbola,
     ViewPoint->{-2.219, -4.715, 3.818}]

Now change the viewpoint and aspect ratio and re-display the result.

sections = 
Show[cone,circle,ellipse,parabola,hyperbola,
     Boxed->False,AspectRatio->1,
     ViewPoint->{-0.944, -3.239, 0.262},
     ColorOutput->GrayLevel,
     DisplayFunction->$DisplayFunction]

Create curves to denote each of the four conic sections.  These will be used for the insets in the final figure.

circle=
ParametricPlot[{Cos[u], Sin[u]},{u,0,2Pi},
  AspectRatio->Automatic,Axes->None]

ellipse=
ParametricPlot[{0.7 Cos[u], Sin[u]},{u,0,2Pi},
  AspectRatio->Automatic,Axes->None]

parabola=
Plot[x^2,{x,-2,2},
  AspectRatio->Automatic,Axes->None]

hyperbola=
ParametricPlot[{t,2/t},{t,0.3,6.667},
  AspectRatio->Automatic,Axes->None]