<< Graphics`ContourPlot3D`

Place the cursor in a cell and press Shift+Enter.

To animate multiple graphics cells (left) double click on the first graphics cell.

A simple linear function: the level surfaces are parallel planes

ContourPlot3D[
      x + y + z, {x, -2, 2}, {y, -2, 2}, {z, -2, 2}, 
      PlotRange ->  {{-2, 2}, {-2, 2}, {-2, 2}}, 
      Contours -> {1. }, PlotPoints -> {5, 5, 5}, 
      Ticks -> {{-2, -1, 0, 1, 2}, {-2, -1, 0, 1, 
            2}, {-2, -1, 0, 1, 2}}, ImageSize ->  400, 
      PlotLabel -> 
        TableForm[{"c", "=", 
            NumberForm[Chop[N[1, 3]], {3, 2}, 
              NumberPadding -> {"", "0"}]}, 
          TableDirections -> Row, TableSpacing ->  .1], 
      Axes -> True, AxesLabel -> {"x", "y", "z"}, 
      ViewPoint -> {2.736,  1.331,  1.259}]

Table[
        ContourPlot3D[
          x + y + z, {x, -2, 2}, {y, -2, 2}, {z, -2, 2}, 
          PlotRange ->  {{-2, 2}, {-2, 2}, {-2, 2}}, 
          Contours -> {c}, PlotPoints -> {5, 5, 5}, 
          ImageSize ->  400, 
          PlotLabel -> 
            TableForm[{"c", "=", 
                NumberForm[Chop[N[c, 3]], {3, 2}, 
                  NumberPadding -> {"", "0"}]}, 
              TableDirections -> Row, TableSpacing ->  .1], 
          Axes -> True, AxesLabel -> {"x", "y", "z"}, 
          ViewPoint -> {2.736,  1.331,  1.259}], {c, -4, 
          4,  .25}];

The level surfaces are spheres

ContourPlot3D[
      x^2 + y^2 + z^2, {x, -2, 2}, {y, -2, 2}, {z, -2, 2}, 
      PlotRange ->  {{-2, 2}, {-2, 2}, {-2, 2}}, 
      Contours -> {1. }, PlotPoints -> {7, 7, 7}, 
      ImageSize ->  400, 
      PlotLabel -> 
        TableForm[{"c", "=", 
            NumberForm[Chop[N[1, 3]], {3, 2}, 
              NumberPadding -> {"", "0"}]}, 
          TableDirections -> Row, TableSpacing ->  .1], 
      Axes -> True, 
      AxesLabel -> {"x", "y", "z"}]

Table[
        ContourPlot3D[
          x^2 + y^2 + z^2, {x, -2, 2}, {y, -2, 2}, {z, -2, 2}, 
          PlotRange ->  {{-2, 2}, {-2, 2}, {-2, 2}}, 
          Contours -> {c}, PlotPoints -> {5, 5, 5}, 
          ImageSize ->  425, 
          PlotLabel -> 
            TableForm[{"c", "=", 
                NumberForm[Chop[N[c, 3]], {3, 2}, 
                  NumberPadding -> {"", "0"}]}, 
              TableDirections -> Row, TableSpacing ->  .1], 
          Axes -> True, 
          AxesLabel -> {"x", "y", "z"}], {c, 0, 
          9. ,  .3}];

The level surfaces are hyperboloids

ContourPlot3D[
      x^2 + y^2 - z^2, {x, -2, 2}, {y, -2, 2}, {z, -2, 2}, 
      PlotRange ->  {{-2, 2}, {-2, 2}, {-2, 2}}, 
      Contours -> {0. }, PlotPoints -> {7, 7, 7}, 
      ImageSize ->  425, 
      PlotLabel -> 
        TableForm[{"c", "=", 
            NumberForm[Chop[N[0, 3]], {3, 2}, 
              NumberPadding -> {"", "0"}]}, 
          TableDirections -> Row, TableSpacing ->  .1], 
      Axes -> True, 
      AxesLabel -> {"x", "y", "z"}]

Table[
        ContourPlot3D[
          x^2 + y^2 - z^2, {x, -2, 2}, {y, -2, 2}, {z, -2, 2}, 
          PlotRange ->  {{-2, 2}, {-2, 2}, {-2, 2}}, 
          Contours -> {c}, PlotPoints -> {5, 5, 5}, 
          ImageSize ->  425, 
          PlotLabel -> 
            TableForm[{"c", "=", 
                NumberForm[Chop[N[c, 3]], {3, 2}, 
                  NumberPadding -> {"", "0"}]}, 
              TableDirections -> Row, TableSpacing ->  .1], 
          Axes -> True, 
          AxesLabel -> {"x", "y", "z"}], {c, -2.2, 
          3.2,  .2}];

Table[
        ContourPlot3D[
          x^2 - y^2 - z^2, {x, -2, 2}, {y, -2, 2}, {z, -2, 2}, 
          PlotRange ->  {{-2, 2}, {-2, 2}, {-2, 2}}, 
          Contours -> {c}, PlotPoints -> {5, 5, 5}, 
          ImageSize ->  425, 
          PlotLabel -> 
            TableForm[{"c", "=", 
                NumberForm[Chop[N[c, 3]], {3, 2}, 
                  NumberPadding -> {"", "0"}]}, 
              TableDirections -> Row, TableSpacing ->  .1], 
          Axes -> True, 
          AxesLabel -> {"x", "y", "z"}], {c, -2. , 
          2. ,  .2}];

The level surfaces are saddles

Table[
        ContourPlot3D[
          x^2 - y^2 - z, {x, -2, 2}, {y, -2, 2}, {z, -2, 2}, 
          PlotRange ->  {{-2, 2}, {-2, 2}, {-2, 2}}, 
          Contours -> {c}, PlotPoints -> {5, 5, 5}, 
          ImageSize ->  425, 
          PlotLabel -> 
            TableForm[{"c", "=", 
                NumberForm[Chop[N[c, 3]], {3, 2}, 
                  NumberPadding -> {"", "0"}]}, 
              TableDirections -> Row, TableSpacing ->  .1], 
          Axes -> True, 
          AxesLabel -> {"x", "y", "z"}], {c, -3.3, 
          3.3,  .3}];

ContourPlot3D[
      x^2 - y^2 + z, {x, -2, 2}, {y, -2, 2}, {z, -2, 2}, 
      PlotRange ->  {{-2, 2}, {-2, 2}, {-2, 2}}, 
      Contours -> {0. }, PlotPoints -> {5, 5, 5}, 
      ImageSize ->  425, 
      PlotLabel ->  
        TableForm[{"c", "=", 
            NumberForm[Chop[N[0, 3]], {3, 2}, 
              NumberPadding -> {"", "0"}]}, 
          TableDirections -> Row, TableSpacing ->  .1], 
      Axes -> True, 
      AxesLabel -> {"x", "y", "z"}]

ContourPlot3D[
      x^2 - y^2 - z, {x, -2, 2}, {y, -2, 2}, {z, -2, 2}, 
      PlotRange ->  {{-2, 2}, {-2, 2}, {-2, 2}}, 
      Contours -> {0. }, PlotPoints -> {5, 5, 5}, 
      ImageSize ->  425, 
      PlotLabel -> 
        TableForm[{"c", "=", 
            NumberForm[Chop[N[0, 3]], {3, 2}, 
              NumberPadding -> {"", "0"}]}, 
          TableDirections -> Row, TableSpacing ->  .1], 
      Axes -> True, 
      AxesLabel -> {"x", "y", "z"}]

The level surfaces are paraboloids

Table[
        ContourPlot3D[
          x^2 + y^2 - z, {x, -2, 2}, {y, -2, 2}, {z, -2, 2}, 
          PlotRange ->  {{-2, 2}, {-2, 2}, {-2, 2}}, 
          Contours -> {c}, PlotPoints -> {5, 5, 5}, 
          ImageSize ->  425, 
          PlotLabel -> 
            TableForm[{"c", "=", 
                NumberForm[Chop[N[c, 3]], {3, 2}, 
                  NumberPadding -> {"", "0"}]}, 
              TableDirections -> Row, TableSpacing ->  .1], 
          Axes -> True, 
          AxesLabel -> {"x", "y", "z"}], {c, -3, 
          3,  .3}];

ContourPlot3D[
      x^2 + y^2 + z, {x, -2, 2}, {y, -2, 2}, {z, -2, 2}, 
      PlotRange ->  {{-2, 2}, {-2, 2}, {-2, 2}}, 
      Contours -> {0. }, PlotPoints -> {5, 5, 5}, 
      ImageSize ->  425, 
      PlotLabel -> 
        TableForm[{"c", "=", 
            NumberForm[Chop[N[0, 3]], {3, 2}, 
              NumberPadding -> {"", "0"}]}, 
          TableDirections -> Row, TableSpacing ->  .1], 
      Axes -> True, 
      AxesLabel -> {"x", "y", "z"}]

ContourPlot3D[
      x^2 + y^2 - z, {x, -2, 2}, {y, -2, 2}, {z, -2, 2}, 
      PlotRange ->  {{-2, 2}, {-2, 2}, {-2, 2}}, 
      Contours -> {0. }, PlotPoints -> {5, 5, 5}, 
      ImageSize ->  425, 
      PlotLabel -> 
        TableForm[{"c", "=", 
            NumberForm[Chop[N[0, 3]], {3, 2}, 
              NumberPadding -> {"", "0"}]}, 
          TableDirections -> Row, TableSpacing ->  .1], 
      Axes -> True, 
      AxesLabel -> {"x", "y", "z"}]

The level surfaces are cylinders

Table[
        ContourPlot3D[
          y^2 - z, {x, -2, 2}, {y, -2, 2}, {z, -2, 2}, 
          PlotRange ->  {{-2, 2}, {-2, 2}, {-2, 2}}, 
          Contours -> {c}, PlotPoints -> {5, 5, 5}, 
          ImageSize ->  425, 
          PlotLabel -> 
            TableForm[{"c", "=", 
                NumberForm[Chop[N[c, 3]], {3, 2}, 
                  NumberPadding -> {"", "0"}]}, 
              TableDirections -> Row, TableSpacing ->  .1], 
          Axes -> True, 
          AxesLabel -> {"x", "y", "z"}], {c, -3.3, 
          3.3,  .3}];

ContourPlot3D[
      x^2 + y^2 + z, {x, -2, 2}, {y, -2, 2}, {z, -2, 2}, 
      PlotRange ->  {{-2, 2}, {-2, 2}, {-2, 2}}, 
      Contours -> {0. }, PlotPoints -> {5, 5, 5}, 
      ImageSize ->  425, 
      PlotLabel -> 
        TableForm[{c, "=", 
            NumberForm[Chop[N[0, 3]], {3, 2}, 
              NumberPadding -> {"", "0"}]}, 
          TableDirections -> Row, TableSpacing ->  .1], 
      Axes -> True, 
      AxesLabel -> {"x", "y", "z"}]

ContourPlot3D[x^2 + y, {x, -2, 2}, {y, -2, 2}, {z, -2, 2}, 
      PlotRange ->  {{-2, 2}, {-2, 2}, {-2, 2}}, 
      Contours -> {0. }, PlotPoints -> {5, 5, 5}, 
      ImageSize ->  425, 
      PlotLabel -> 
        TableForm[{c, "=", 
            NumberForm[Chop[N[0, 3]], {3, 2}, 
              NumberPadding -> {"", "0"}]}, 
          TableDirections -> Row, TableSpacing ->  .1], 
      Axes -> True, 
      AxesLabel -> {"x", "y", "z"}]