Graphic illustrating Fubini’s Theorem
D. McClendon

This graphic shows how a double integral representing the volume over some y-simple region E ⊂ (ℝ^2) and under some surface z = f(x,y) can be thought of as an iterated integral using Fubini’s Theorem.  Each green region in the animated graphic below is an integral with respect to y; by integrating these integrals (via an iterated integral), we obtain the volume of the entire solid.

f[x_,y_] = Sin[x]Cos[2y]/2 + y/3 +  1.5;
v[u_] =Re[ -(2/3)ArcSin[2((( u-.75)/1.25)-.5)] + 1.5];
Manipulate[Show[Plot3D[f[x,y], {x,0,3}, {y,0,3}, PlotRange -> {0,2.5}, BoxRatios ->{1,1,5/6}, Axes -> False, Boxed -> False,  Mesh -> 4,PlotStyle-> {Opacity[.5]}, ClippingStyle -> False],
Graphics3D[Arrow[{{0,0,0},{3,0,0}}]],
Graphics3D[Arrow[{{0,0,0},{0,3,0}}]],
Graphics3D[Arrow[{{0,0,0},{0,0,2.5}}]],
Graphics3D[{Thick,Blue, Dashed,Line[{{2,.5,0},{.75,.5,0}}]}],
Graphics3D[{Thick,Red, Dashed,Line[{{.75,.5,0},{.75,2.5,0}}]}],
ParametricPlot3D[{(1.25/2)Cos[Pi t ] + 2.75/2,2 t  +.5, 0}, {t, 0, 1}, PlotStyle -> {Thick, Blue}],
Graphics3D[{Thick, Line[{{2,.5,0},{2,.5,f[2,.5]}}]}],
Graphics3D[{Thick, Dashed,Line[{{.75,.5,0},{.75,.5,f[.75,.5]}}]}],
Graphics3D[{Thick, Line[{{.75,2.5,f[.75,2.5]},{.75,2.5,0}}]}],
ParametricPlot3D[{.75, 2t + .5,f[.75,2t+.5] }, {t, 0, 1}, PlotStyle -> {Thick}],
ParametricPlot3D[{1.25t + .75, .5,f[1.25t + .75,.5] }, {t, 0, 1}, PlotStyle -> {Thick}],
ParametricPlot3D[{(1.25/2)Cos[Pi t ] + 2.75/2,+ 2 t  +.5, f[(1.25/2)Cos[Pi t ] + 2.75/2,+ 2 t  +.5]}, {t, 0, 1}, PlotStyle -> {Thick}],
Graphics3D[Text[Style["y",FontFamily -> "Times New Roman", FontSize -> 20], {0,3,.25}]],
Graphics3D[Text[Style["z",FontFamily -> "Times New Roman", FontSize -> 20], {0,.15,2.5}]],
Graphics3D[{Red, Thick, Line[{{.75,-.125,0},{.75,.125,0}}]}],
Graphics3D[{Red, Thick, Line[{{2,-.125,0},{2,.125,0}}]}],
Graphics3D[{Darker[Green], Thick, Line[{{q,-.125,0},{q,.125,0}}]}],
Graphics3D[Text[Style["x",Darker[Green],FontFamily -> "Times New Roman", FontSize -> 20], {q,-.35,0}]],
Graphics3D[Text[Style["l",Red,FontFamily -> "Times New Roman", FontSize -> 20], {.75,-.35,0}]],
Graphics3D[Text[Style["r",Red,FontFamily -> "Times New Roman", FontSize -> 20], {2,-.35,0}]],
Graphics3D[{Thick,Darker[Green], Line[{{q,v[q],f[q,v[q]]},{q,v[q],0},{q,.5,0},{q,.5,f[q,.5]}}]}],
ParametricPlot3D[{q,.5 + 1.1 t, f[q,.5 + 1.1t]}, {t, 0, 1}, PlotStyle -> {Thick, Darker[Green]}],
ParametricPlot3D[{q,.5 + (v[q]-.5)s, t f[q,.5 + (v[q]-.5)s]}, {s,0,1},{t, 0, 1}, PlotStyle -> {LightGreen, Opacity[.5]}, Mesh -> False, Lighting->{{"Point",White,{3,2,3}}}]
],
{q,.75,2}]