(*Shells / cylinders around y-axis*) (*Define two functions f1 4, PlotStyle -> Directive[Opacity[.5]], AxesLabel -> {"x", "z", "y"}], {k, a + .01, b - .01, (b - a)/fineness}]; xmax = Max[Abs[a], Abs[b]]; ymin = Min[FindMinimum[{f1[x], a - 1 <= x && x <= b + 1}, {x}][[1]], FindMinimum[{f2[x], a - 1 <= x && x <= b + 1}, {x}][[1]]]; ymax = Max[FindMaximum[{f1[x], a - 1 <= x && x <= b + 1}, {x}][[1]], FindMaximum[{f2[x], a - 1 <= x && x <= b + 1}, {x}][[1]]]; ListAnimate[Table[Show[ParametricPlot3D[{{t, 0, f1[t]}, {t, 0, f2[t]}}, {t, a - 1, b + 1}, PlotRange -> {{-(xmax + 1), xmax + 1}, {-(xmax + 1), xmax + 1}, {ymin, ymax}}, AxesLabel -> {"x", "z", "y"}], ParametricPlot3D[{0, 0, t}, {t, ymin - 1, ymax + 1}, PlotRange -> {{-(xmax + 1), xmax + 1}, {-(xmax + 1), xmax + 1}, {ymin, ymax}}, AxesLabel -> {"x", "z", "y"}], Part[shells, 1 ;; j], ImageSize -> 400], {j, 0, Length[shells], 1}], 3, AnimationRunning -> False] (*disks / washers around x-axis*) (*Define two functions g1 "X", Mesh -> 4, PlotStyle -> Directive[Opacity[.3]], PlotTheme -> {"Monochrome", Lighter@Blue}, AxesLabel -> {"x", "z", "y"}], {k, a + .01, b - .01, (b - a)/fineness}]; ymax = Max[Abs[Min[FindMinimum[{g1[x], a - 1 <= x && x <= b + 1}, {x}][[1]], FindMinimum[{g2[x], a - 1 <= x && x <= b + 1}, {x}][[1]]]], Abs[Max[FindMaximum[{g1[x], a - 1 <= x && x <= b + 1}, {x}][[1]], FindMaximum[{g2[x], a - 1 <= x && x <= b + 1}, {x}][[1]]]]]; ListAnimate[Table[Show[ParametricPlot3D[{{t, 0, g1[t]}, {t, 0, g2[t]}, {t, 0, 0}}, {t, a - 1, b + 1}, PlotRange -> {{a - .5, b + .5}, {-(ymax + 1), ymax + 1}, {-(ymax + 1), ymax + 1}}, AxesLabel -> {"x", "z", "y"}, PlotStyle -> {Red, Red, Black}], Part[washers, 1 ;; j], BoxRatios -> {2, 1, 1}, ImageSize -> 400], {j, 0, Length[washers], 1}], 3, AnimationRunning -> False]