In Math 230, while introducing methods of computing volumes of solids by integration, one early example from the lecture notes (on page 3 of Packet 230-6) discusses a solid whose base is a semicircle and whose cross-sections are squares.  I show these graphics in class to help students visualize what this solid looks like.

First, this animated Mathematica graphic illustrates where each cross-section sits.  This graphic can be animated to make the square move left and right across the picture, corresponding to each cross-section.

Manipulate[ParametricPlot3D[{{4 t Sin[theta], 4 t Cos[theta], 0},
{d,-t (Sqrt[16 - d^2])  + (1-t)(Sqrt[16 - d^2]),2 (Sqrt[16 - d^2])theta / Pi }}, {t, 0, 1}, {theta, 0, Pi}, Axes -> True, BoxRatios -> Automatic, Mesh -> False, PlotStyle -> {Opacity[.5], Opacity[.5]} , Boxed -> False, PlotRange -> {{-.5, 4.5}, {-4.5, 4.5}, {-.5,8.5}}, AxesLabel -> {x,y, }], {d, 0, 4}]

The next picture shows the complete solid.  The viewing perspective of this picture can be manipulated, so that students can see that from the side, this solid looks like a square, but from the top, it looks like a semicircle.

ParametricPlot3D[{{4 t Sin[theta], 4 t Cos[theta], 0},{4  Sin[theta], 4 Cos[theta],Abs[8 Cos[theta]] t},
{0,-4t   + (1-t)4,8theta / Pi},
{4t, -(theta)4(Sqrt[1-t^2])/Pi +(Pi- theta)4(Sqrt[1-t^2]) / Pi,8(Sqrt[1- t^2])}
}, {t, 0, 1}, {theta, 0, Pi}, Axes -> True, BoxRatios -> Automatic, Mesh -> False, PlotStyle -> {Opacity[.5], Opacity[.5], Opacity[.5], Opacity[.5], Green} , Boxed -> False, PlotRange -> {{-.5, 4.5}, {-4.5, 4.5}, {-.5, 8.5}}, AxesLabel -> {x,y, }]

The next picture, when animated, shows how the solid is exhausted by squares that “slide” across the region (equivalently, how the region can be sliced into squares when computing its volume):

Manipulate[ParametricPlot3D[{{4 t Sin[theta], 4 t Cos[theta], 0},{4  Sin[theta], 4 Cos[theta],Abs[8 Cos[theta]] t},
{0,-4t   + (1-t)4,8theta / Pi},
{4t, -(theta)4(Sqrt[1-t^2])/Pi +(Pi- theta)4(Sqrt[1-t^2]) / Pi,8(Sqrt[1- t^2])}, {d,-t (Sqrt[16 - d^2])  + (1-t)(Sqrt[16 - d^2]),2 (Sqrt[16 - d^2])theta / Pi }
}, {t, 0, 1}, {theta, 0, Pi}, Axes -> True, BoxRatios -> Automatic, Mesh -> False, PlotStyle -> {Opacity[.5], Opacity[.5], Opacity[.5], Opacity[.5], Darker[Green]} , Boxed -> False, PlotRange -> {{-.5, 4.5}, {-4.5, 4.5}, {-.5, 8.5}}, AxesLabel -> {x,y, }], {d, 0, 4}]