VC.08 Transforming 3D Integrals
GIVE IT A TRY!

\(Off[General::spell]; 
Off[General::spell1]; 

    \(Off[ParametricPlot3D::ppcom]; \)\)Off[ParametricPlot::ppcom]; Off[Plot::plnr]; SetOptions[Limit, Analytic -> True];

CMView = {2.7, 1.6, 1.2};

Vector Drawer

BeginPackage["Vector3D`", "Graphics`Colors`"];

\(Axes3D::"usage" = 
      "Axes3D[a, b] creates a Graphics3D object of cartesian axes with x, y, and z running from -a/3 to a, and with axes labels b units beyond the tips of the axes.  Axes3D[a] is Axes3D[a, a/8]."; 

    \(Perpend::"usage" = 
      "Perpend[a] returns a unit vector which is perpendicular to the vector a."; \)\)Arrow::"usage" = 
      "Arrow[a] produces a 2 or 3 dimensional vector from the origin to a. \
Arrow[a, Tail -> tail] gives a vector from tail to a."; Vector::"usage" = 
      "Vector[a, b] gives a 2D or 3D vector from a to b."; ArrowHead::"usage" = 
      "ArrowHead[a, vec] produces an arrowhead with its tip placed at the \
point a, pointing in the direction of the vector vec."; Tail::"usage" = 
      "Tail -> point puts the tail of the vector at point."; Norm::"usage" = 
      "Norm[vec] returns the Euclidean length of vec."; Normalize::"usage" = 
      "Normalize[vec] returns a unit vector in the direction of vec, \
provided vec is nonzero."; Aperture::"usage" = 
      "Aperture is the ratio of the radius of the base to the length of the \
head of a vector."; TipSize::"usage" = 
      "TipSize specifies an absolute size for the inner tip length of the \
head of a vector."; TipRatio::"usage" = 
      "TipRatio is the ratio of the inner length of the arrowhead to the \
length of the shaft of a vector."; HeadRatio::"usage" = 
      "HeadRatio is the ratio of the outer length of the arrowhead to the \
length of the shaft of a vector."; HeadSize::"usage" = 
      "HeadSize specifies an absolute size for the head of a vector."; 
    ScaleFactor::"usage" = 
      "ScaleFactor specifies the amount to scale a vector in length and may \
be either a number or a pure function."; ZeroVectorPointSize::"usage" = 
      "ZeroVectorPointSize is the size of the point used to represent a \
zero vector."; Options[Vector] = 
      Options[Arrow] = 
        Options[ArrowHead] = {HeadRatio -> 0.18, 
            TipRatio -> 0.14, Aperture -> 0.3, 
            ScaleFactor -> 1, HeadType -> Polygon, 
            ShaftQ -> True, EdgesQ -> True, 
            VectorColor -> RGBColor[0, 0, 1], ShaftWidth -> 0.005, 
            ZeroVectorPointSize -> 0.01}; Begin["`Private`"]; SetOptions[ParametricPlot, AspectRatio -> Automatic]; SetOptions[Plot, AspectRatio -> Automatic]; SetOptions[Graphics, AspectRatio -> Automatic]; Axes3D[u_, v_] := 
      Graphics3D[{{Blue, Line[{{-(u/3), 0, 0}, {u, 0, 0}}]}, 
          Text["x", {u + v, 0, 0}], {Blue, 
            Line[{{0, -(u/3), 0}, {0, u, 0}}]}, 
          Text["y", {0, u + v, 0}], {Blue, 
            Line[{{0, 0, -(u/3)}, {0, 0, u}}]}, 
          Text["z", {0, 0, u + v}]}]; Axes3D[u_] := Axes3D[u, (u/8)]; Norm[a_?VectorQ] := N[(Sqrt[a . a])]; Normalize[a_?VectorQ] := If[a . a == 0, a, (a/Norm)[a]]; Perpend[a_?VectorQ] := 
      Normalize[{a[[2]], 
            -a[[1]]}] /; 
        Length[a] == 2Perpend[a_?VectorQ] := 
      Normalize[
          If[a[[1]] == 0, {1, 0, 0}, {0, 
              a[[3]], 
              -a[[2]]}]] /; 
        Length[a] == 3Base3D = 
      Table[{Cos[((2 k π)/8.) ], Sin[((2 k π)/8.) ]}, {k, 0, 
          8}]; Vector[from_?VectorQ, to_?VectorQ, opts___] := 
      Module[{sq, sw, ht, hs, hr, tr, ap, sf, vc, zvps, diff = to - from, 
            tip}, {sq, sw, ht, hs, hr, ts, tr, ap, sf, vc, zvps} = 
            {ShaftQ, ShaftWidth, HeadType, HeadSize, HeadRatio, TipSize, 
                  TipRatio, Aperture, ScaleFactor, VectorColor, 
                  ZeroVectorPointSize} /. {opts} /. Options[Vector]; 
          If[from == to, 
            Return[Graphics[{PointSize[zvps], vc, Point[from]}]]]; 
          diff = If[NumberQ[N[sf]], sf diff, sf[diff]]; tip = from + diff; 
          If[NumberQ[hs], hr = (hs/Norm)[diff]; tr = 0.75 hr]; 
          If[NumberQ[ts], tr = (ts/Norm)[diff]]; 
          Graphics[{
              If[sq, {vc, Thickness[sw], Line[{from, tip - tr diff}]}, {}], 
              With[{trans = ap hr Norm[diff] Perpend[diff]}, {vc, 
                  Thickness[sw], 
                  ht[{tip, tip - hr diff + trans, tip - tr diff, 
                      tip - hr diff - trans, tip}]}]}]] /; 
        Length[from] == Length[to] == 2Vector[from_?VectorQ, to_?VectorQ, opts___] := 
      Module[{sq, eq, sw, hs, hr, tr, ap, sf, vc, zvps, diff = to - from, 
            tip}, {sq, eq, sw, hs, hr, ap, sf, vc, zvps} = 
            {ShaftQ, EdgesQ, ShaftWidth, HeadSize, HeadRatio, Aperture, 
                  ScaleFactor, VectorColor, ZeroVectorPointSize} /. {opts}
                   /. Options[Vector]; 
          If[from == to, 
            Return[Graphics3D[{PointSize[zvps], vc, Point[from]}]]]; 
          diff = If[NumberQ[N[sf]], sf diff, sf[diff]]; tip = from + diff; 
          If[NumberQ[hs], hr = (hs/Norm)[diff]]; tr = (hr/2); 
          Graphics3D[{
              If[sq, {vc, Thickness[sw], Line[{from, tip - tr diff}]}, {}], 
              If[eq, {}, EdgeForm[]], {SurfaceColor[vc], 
                With[{temp = Perpend[diff]}, 
                  (Polygon[Append[#1, tip]]&)/@
                    Partition[
                      (tip - hr diff + #1&)/@
                        ((ap hr Norm[diff] Base3D) . {temp, 
                              Normalize[temp\[Cross]diff]}), 2, 1]]}}]] /; 
        Length[from] == Length[to] == 3Arrow[a_, Tail -> b_, opts___] := Vector[b, a + b, opts]Arrow[a_, opts___] := Vector[Table[0, {Length[a]}], a, opts]\(ArrowHead[a_, b_, opts___] := 
      Vector[a - b, a, ShaftQ -> False, opts]; 

End[]; 

    \(EndPackage[]; \)\)

Graphics`Colors`GosiaGreen = RGBColor[0,  0.392187,  0];

Spherical Setup

\(Clear[polar]; 

    polar[{x_, y_, z_}] := {\@\(x\^2 + y\^2 + z\^2\), ArcTan[y\/x], 
        ArcCos[z\/\@\(x\^2 + y\^2 + z\^2\)]}; 
Clear[X, length]; 

    length[X_] := \@\(X . X\); 
\(rr = 3; \)\)R = 5; scale = 0.8; red = RGBColor[1, 0, 0]; blue = RGBColor[0, 0, 1]; color1 = RGBColor[0.8, 0.2, 0.8]; color2 = RGBColor[0.2, 0.8, 0.2]; black = RGBColor[0, 0, 0]; \(Clear[axes]; 

    axes := Graphics3D[{Line[{X, {1.5\ rr, 0, 0}}], 
          Line[{X, {0, 1.5\ rr, 0}}], Line[{X, {0, 0, 2\ rr}}]}]; 

    Clear[xyplane]; 

    xyplane := 
      Graphics3D[
        Polygon[{{\(-2\)\ rr, \(-2\)\ rr, 0}, {\(-2\)\ rr, 2\ rr, 0}, {2\ rr, 
              2\ rr, 0}, {2\ rr, \(-2\)\ rr, 0}}]]; 
\(X = {0, 0, 0}; \)\)origin = Graphics3D[{black, Point[X]}]; Z = {2, 3, 5}; \(Clear[point]; 

    point := Graphics3D[{red, PointSize[0.03], Point[scale\ Z]}]; 

    \(Z0 = {0, 0, length[0.8\ Z]}; \)\)\(Clear[zpoint]; 
zpoint = Graphics3D[{black, Point[Z0]}]; 

    \(XY = scale\ Z\ {1, 1, 0}; \)\)\(Clear[xypoint]; 
xypoint := Graphics3D[{black, Point[XY]}]; 

    \(X0 = {length[scale\ Z\ {1, 1, 0}], 0, 0}; \)\)xpoint = Graphics3D[{black, Point[X0]}]; Y0 = {0, length[scale Z {1, 1, 0}], 0}; ypoint = Graphics3D[{black, Point[Y0]}]; \(Clear[ray]; 
ray := Graphics3D[{blue, Line[{X, scale\ Z}]}]; 

    Clear[ray1]; 
ray1 := Graphics3D[{color1, Line[{scale\ Z, Z}]}]; 

    Clear[xyray]; 
xyray := Graphics3D[{red, Line[{X, Z\ {1, 1, 0}}]}]; 

    \(rays := {ray, xyray}; \)\)xyaux = 
      (length[0.8 Z] (0.8 Z {1, 1, 0}))/
        length[0.8 Z {1, 1, 0}]; \(Clear[zarc]; 

    zarc = Graphics3D[{blue, 
          Line[Table[
              \(Cos[t]\ \) {0, 0, length[0.8\ Z]} + Sin[t]\ xyaux, {t, 0, 
                \(polar[0.8\ Z]\)[[3
                  ]],  .1}]]}]; 
Clear[zarc1]; 

    zarc1 = Graphics3D[{color1, 
          Line[Table[
              \(Cos[t]\ \) {0, 0, length[0.8\ Z]} + Sin[t]\ xyaux, {t, 
                \(polar[0.8\ Z]\)[[3]], 
                1,  .1}]]}]; 
Clear[zarc2]; 

    zarc2 = Graphics3D[{color1, 
          Line[Table[
              \(Cos[t]\ \) {0, 0, length[0.8\ Z]} + Sin[t]\ xyaux, {t, 
                \(-0.8\), 0,  .1}]]}]; 
Clear[xyarc]; 

    xyarc = Graphics3D[{blue, 
          Line[Table[
              Cos[t]\ X0 + Sin[t]\ Y0, {t, 0, 
                \(polar[XY]\)[[2
                  ]],  .1}]]}]; 
Clear[xyarc1]; 

    xyarc1 = Graphics3D[{color1, 
          Line[Table[Cos[t]\ X0 + Sin[t]\ Y0, {t, \(- .5\), 0,  .1}]]}]; 

    Clear[xyarc2]; 

    xyarc2 = Graphics3D[{color1, 
          Line[Table[
              Cos[t]\ X0 + Sin[t]\ Y0, {t, 
                \(polar[XY]\)[[2]], 
                \(polar[XY]\)[[2]] + 
                  0.3,  .1}]]}]; 
Clear[stick]; 

    stick = Graphics3D[{red, Line[{scale\ Z, XY}]}]; 

    \(xaxislabel = Text["x", {0.363, 0.26}]; \)\)yaxislabel = Text["y", {0.73, 0.3}]; zaxislabel = Text["z", { .5, 0.67}]; stickplot = 
      Show[xyplane, axes, ray, point, Boxed -> False, 
        ViewPoint -> {2.747, 1.594, 1.168}, 
        Epilog -> {xaxislabel, yaxislabel, zaxislabel}, 
        DisplayFunction -> Identity]; rho = Text["r", {0.53, 0.45}]; rlabel = 
      Show[xyplane, axes, ray, point, Boxed -> False, 
        ViewPoint -> {2.747, 1.594, 1.168}, 
        Epilog -> {rho, xaxislabel, yaxislabel, zaxislabel}, 
        DisplayFunction -> Identity]; phi = Text["s", {0.55, 0.57}]; slabel = 
      Show[xyplane, zpoint, axes, ray, point, zarc, zarc1, zarc2, 
        Boxed -> False, ViewPoint -> {2.747, 1.594, 1.168}, 
        Epilog -> {phi, xaxislabel, yaxislabel, zaxislabel}, 
        DisplayFunction -> Identity]; theta = Text["t", { .5, 0.3}]; tlabel = 
      Show[xyplane, axes, xypoint, xpoint, ray, stick, point, xyarc, xyarc1, 
        xyarc2, Boxed -> False, ViewPoint -> {2.747, 1.594, 1.168}, 
        Epilog -> {theta, xaxislabel, yaxislabel, zaxislabel}, 
        DisplayFunction -> Identity]; all = 
      Show[xyplane, axes, ray, stick, point, zpoint, xpoint, xypoint, xyarc, 
        xyarc1, xyarc2, zarc, zarc1, zarc2, Boxed -> False, 
        ViewPoint -> {2.747, 1.594, 1.168}, 
        Epilog -> {theta, phi, rho, xaxislabel, yaxislabel, zaxislabel}, 
        DisplayFunction -> Identity];

Crisscross

\(Clear[x]; 

    crisscross = 
      Plot[{Cos[x], Sin[x]}, {x, π\/8, \(3\ π\)\/8}, 
        PlotStyle -> {{RGBColor[1, 0, 0], Thickness[0.02]}}, 
        Axes -> None, AspectRatio -> 1\/3, 
        DisplayFunction -> Identity]; \)

G.1)  3D integrals*

G.1.a)

Calculate 
       \(∫\_\%\(∫\_\%\(∫\_\(\ R\)\%\ 
            \(x\^2\) \(y\^2\) \(z\^2\) dx dy 
              dz\)\)\)
where R is the box with 
       0 ≤ x ≤ 2, 1 ≤ y ≤ 3, and -2 ≤ z ≤ 2.

G.1.b)

Calculate
       (∫_^)(∫_^)(∫_( (Subscript[R, xyz]))^) (((((x/3)))^2)+((((y/2)))^2))dxdydz
where (Subscript[R, xyz]) is the region consisting of everything inside and on the elliptical cylinder with sides 
       ((((x/3)))^2)+((((y/2)))^2)=1, 
and bottom z = 0, and top z = 4.

Go with
       x[r, s, t] = 3  r Cos[s]
       y[r, s, t] = 2  r Sin[s]
       z[r, s, t] = t.

G.1.c)

Calculate 
       \(∫\_\%\(∫\_\%\(∫\_\(\ R\)\%\ 
            \(x\^2\) \(y\^2\) \(z\^2\) dx dy 
              dz\)\)\), 
where R is the solid whose top skin is the surface 
       z = 8 -  (x^2) -  (y^2),
and whose bottom skin is the surface 
       z = (x^2) +  (y^2).

G.1.d)

Calculate 
       \(∫\_\%\(∫\_\%\(∫\_\(\ R\)\%\ 
            \(x\^2\) \(y\^2\) \(z\^2\) dx dy 
              dz\)\)\), 
where R is the solid inside the parallelpiped plotted below:

vector1 = {3, 0, 2}; vector2 = {0, 3, -3}; vector3 = {-3, 1, 4}; basepoint = {0, -2, 0}; Show[Arrow[vector1, Tail -> basepoint, VectorColor -> Red], 
      Arrow[vector2, Tail -> basepoint, VectorColor -> Red], 
      Arrow[vector3, Tail -> basepoint, VectorColor -> Red], 
      Arrow[vector2, Tail -> basepoint + vector1, 
        VectorColor -> Blue], 
      Arrow[vector3, Tail -> basepoint + vector1, 
        VectorColor -> Blue], 
      Arrow[vector1, Tail -> basepoint + vector2, 
        VectorColor -> Blue], 
      Arrow[vector3, Tail -> basepoint + vector2, 
        VectorColor -> Blue], 
      Arrow[vector1, Tail -> basepoint + vector3, 
        VectorColor -> Blue], 
      Arrow[vector2, Tail -> basepoint + vector3, 
        VectorColor -> Blue], 
      Arrow[vector3, Tail -> basepoint + vector1 + vector2, 
        VectorColor -> Blue], 
      Arrow[vector1, Tail -> basepoint + vector2 + vector3, 
        VectorColor -> Blue], 
      Arrow[vector2, Tail -> basepoint + vector1 + vector3, 
        VectorColor -> Blue], 
      Arrow[vector3, Tail -> basepoint + vector1 + vector2, 
        VectorColor -> Blue], Axes -> True, 
      AxesLabel -> {"x", "y", "z"}, ViewPoint -> CMView];

G.2)  Volume*

G.2.a.i)

Here's the plot of the outside skin of a solid:

\(Clear[s, t]; 

    skin = ParametricPlot3D[{\((1 - s\^2)\)\ Cos[t], 
          2\ \((1 - s\^2)\)\ Sin[t], s}, {s, \(-1\), 1}, {t, 0, 2\ π}, 
        ViewPoint -> CMView, 
        AxesLabel -> {"x", "y", "z"}]; \)

Measure the volume enclosed by this skin.

G.2.a.ii)

Here's the plot of the outside skin of a related solid:

\(Clear[s, t]; 

    skin = ParametricPlot3D[{\(-s\), \(-s\), 2\ s} + {\((1 - s\^2)\)\ Cos[t], 
            2\ \((1 - s\^2)\)\ Sin[t], 0}, {s, \(-1\), 1}, {t, 0, 2\ π}, 
        ViewPoint -> CMView, 
        AxesLabel -> {"x", "y", "z"}]; \)

Measure the volume enclosed by this skin.

G.2.b)

A solid R is given as all points that are simultaneously between:
-> the planes x +  y +  z = -2, and x +  y +  z = 5,
-> the planes x +  y -  z = -3, and x +  y -  z = 7, and 
-> the surfaces x -  y +  2  (z^3) = 0, and x -  y +  2  (z^3) = 5.
Measure the volume of this solid.

G.3)  Drilling and slicing spheres

One way to see how to plot the sphere        
       (x^2) +  (y^2) +  (z^2) = (radius^2)
is to slice it with the plane
       z = c, where -radius ≤ c ≤ radius,
and then to think about what you get.
What you get is the circle 
       (x^2) +  (y^2) = (radius^2) -  (c^2)
plotted in the plane z = c.
Now when you go with a given radius, you can plot the sphere
       (x^2) +  (y^2) +  (z^2) = (radius^2).
Take a look in the case that radius = 3:

\(Clear[c, t]; 
radius = 3; 
\({clow, chigh} = {\(-radius\), radius}; 
    \)\){tlow, thigh} = {0, 2 π}; ParametricPlot3D[{(Sqrt[(radius^2) - (c^2)]) Cos[t], 
        (Sqrt[(radius^2) - (c^2)]) Sin[t], c}, {c, clow, chigh}, {t, tlow, 
        thigh}, ViewPoint -> CMView, Axes -> True, 
      BoxRatios -> Automatic, 
      AxesLabel -> {"x", "y", "z"}];

G.3.a.i)

Use a 3D integral to measure the volume of this sphere.

G.3.a.ii)

Use a 3D integral to come up with a formula for a function volume[radius] that measures the volume of a sphere of a given radius.

G.3.b.i)

Here's a sphere of radius 2 shown in true scale with an axis running from top to bottom:

\(Clear[c, t]; 
radius = 2; 
\({clow, chigh} = {\(-radius\), radius}; 
    \)\){tlow, thigh} = {0, 2 π}; sphereplot = 
      ParametricPlot3D[{(Sqrt[(radius^2) - (c^2)]) Cos[t], 
          (Sqrt[(radius^2) - (c^2)]) Sin[t], c}, {c, clow, chigh}, {t, tlow, 
          thigh}, DisplayFunction -> Identity]; Show[sphereplot, 
      Graphics3D[{Thickness[0.01], Blue, 
          Line[{{0, 0, -2.5}, {0, 0, 2.5}}]}], ViewPoint -> CMView, 
      Axes -> True, BoxRatios -> Automatic, 
      AxesLabel -> {"x", "y", "z"}, 
      DisplayFunction -> $DisplayFunction];

Plot what you get after you take a circular drill of radius 1 and bore a straight circular hole through the sphere, centering the drill on the plotted axis.

G.3.b.ii)

Go back to the set-up in part b.i) immediately above, and imagine that the sphere is the skin of a solid ball made of redwood.  Measure the volume of the redwood that remains after you take a circular drill of radius 1 and bore a straight circular hole through the sphere, centering the drill on the plotted axis.

G.3.c)

Here's a sphere whose top has been sliced off:

\(Clear[c, t]; 
radius = 2; 
\({clow, chigh} = {\(-radius\), 1}; \)\){tlow, thigh} = {0, 2 π}; sphereplot = 
      ParametricPlot3D[{(Sqrt[(radius^2) - (c^2)]) Cos[t], 
          (Sqrt[(radius^2) - (c^2)]) Sin[t], c}, {c, clow, chigh}, {t, tlow, 
          thigh}, ViewPoint -> CMView, Axes -> True, 
        BoxRatios -> Automatic, 
        AxesLabel -> {"x", "y", "z"}];

Think of this as a container for your favorite cold liquid refreshment and measure the volume of liquid this container can hold.

G.3.d)

A cubic foot of water weighs 62.4 pounds.  A cubic foot of seasoned balsa wood weighs 7.3 pounds. 
If you carve a perfect sphere 2 feet in diameter from a block of balsa wood, paint it with waterproof paint, let the paint dry, throw it into a pond, and wait until it stops bobbing, then how deeply will it be submerged?

The floating balsa sphere will displace the volume of water that weighs as much as the balsa sphere.
One way to communicate your answer is with a plot.

G.4)  Tubes, horns, and squashed doughnuts*

G.4.a.i)

Here's a base curve:

\(Clear[s, P]; 
P[s_] = {\(-s\), 2\ s, s\^2}; 

    \(curve = 
      ParametricPlot3D[Evaluate[P[s]], {s, 0, 2}, 
        AxesLabel -> {"x", "y", "z"}, 
        ViewPoint -> CMView]; \)\)

Plot the tube whose skin consists of each circle of a radius 1.4 centered on the curve and lying in the plane that cuts the curve perpendicularly at the center of the circle.

G.4.a.ii)

Imagine that flat caps have been attached to the open ends of the tube in part a.i) above, and measure the volume of the resulting container.

G.4.b)

Look at this horn:

Clear[s, P];
P[s_] = {-s, 2 s, (s^2)};
unittan[s_]=((P'[s])/(Sqrt[P'[s].P'[s]]));mainunitnormal[s_]=N[((unittan'[s])/(Sqrt[Expand[unittan'[s].unittan'[s]]]))];\(Clear[binormal]; 
binormal[s_] = unittan[s]\[Cross]mainunitnormal[s]; 

    Clear[hornskin, r]; 
r[s_] = 0.25\ s; 

    hornskin[s_, t_] = 
      Together[P[s] + r[s]\ Cos[t]\ mainunitnormal[s] + 
          r[s]\ Sin[t]\ binormal[s]]; 


    ParametricPlot3D[Evaluate[hornskin[s, t]], {s, 0, 2}, {t, 0, 2\ π}, 
      AxesLabel -> {"x", "y", "z"}, 
      ViewPoint -> CMView]; \)

Imagine that a flat cap has been attached to the open end, and measure the volume of the resulting container.

G.4.c)  Squashed doughnuts

Here is a squashed doughnut:

Clear[P, s, unittan, mainunitnormal, binormal];
P[s_] := {6 Cos[s], 6 Sin[s], 0};
unittan[s_]=((P'[s])/(Sqrt[TrigExpand[P'[s].P'[s]]]));mainunitnormal[s_]=N[((unittan'[s])/(Sqrt[TrigExpand[unittan'[s].unittan'[s]]]))];
binormal[s_] = N[TrigExpand[unittan[s]\[Cross]mainunitnormal[s]]];
Clear[donutskin, rad, t];
rad[s] = Sin[s]^2 + 0.5;
donutskin[s_, t_] = 
        P[s] + rad[s] Cos[t] mainunitnormal[s] + 
          rad[s] Sin[t] binormal[s];

ParametricPlot3D[
        Evaluate[donutskin[s, t]], {s, 0, 2 π}, {t, 0, 2 π}, 
        PlotPoints -> {30, Automatic}, 
        AxesLabel -> {"x", "y", "z"}, 
        ViewPoint -> CMView];

Try to explain why the plot came out the way it did, and then measure the volume inside this squashed treat.

G.5)  Measuring when you can't see

G.5.a.i)

Here is a modest curve in three dimensions:

\(Clear[curveplotter, t]; 
{tlow, thigh} = {0, 4}; 

    \(curveplotter[t_] = {3\ Cos[2\ t], 3\ t\ Sin[t], 3\ t}; \)\)\(curve = 
      ParametricPlot3D[Evaluate[curveplotter[t]], {t, tlow, thigh}, 
        DisplayFunction -> Identity]; 


    Show[curve, ViewPoint -> CMView, Axes -> True, 
      AxesLabel -> {"x", "y", "z"}, PlotRange -> All, 
      DisplayFunction -> $DisplayFunction]; \)

Here is the same curve shown with a couple of sample circles of radius 2, parallel to the xy-plane and centered on the curve:

\(Clear[s]; 

    circle1 = 
      ParametricPlot3D[
        Evaluate[curveplotter[1] + 2\ {Cos[s], Sin[s], 0}], {s, 0, 2\ π}, 
        DisplayFunction -> Identity]; 

    circle2 = 
      ParametricPlot3D[
        Evaluate[curveplotter[2] + 2\ {Cos[s], Sin[s], 0}], {s, 0, 2\ π}, 
        DisplayFunction -> Identity]; 


    Show[curve, circle1, circle2, ViewPoint -> CMView, 
      Axes -> True, AxesLabel -> {"x", "y", "z"}, 
      PlotRange -> All, DisplayFunction -> $DisplayFunction]; \)

Here's what you get when you make the tube consisting of all such circles:

\(Clear[tubeplotter, s, t]; 

    tubeplotter[s_, t_] = curveplotter[t] + 2\ {Cos[s], Sin[s], 0}; 

    tube = ParametricPlot3D[
        Evaluate[tubeplotter[s, t]], {t, tlow, thigh}, {s, 0, 2\ π}, 
        DisplayFunction -> Identity]; 


    tubeplot = 
      Show[tube, curve, ViewPoint -> CMView, Axes -> True, 
        AxesLabel -> {"x", "y", "z"}, PlotRange -> All, 
        DisplayFunction -> $DisplayFunction]; \)

Imagine that the ends of this tube are covered with flat plates, and measure the volume of the resulting container.

G.5.a.ii)

In part i), the core curve was plotted by
       curveplotter[t] = {3  Cos[2  t], 3  t Sin[t], 3  t} 
with 0 ≤ t ≤ 4.      
This time, suppose the core curve is given by
       curveplotter[t] = {f[t], g[t], 3  t}
with 0 ≤ t ≤ 4, where f[t] and g[t] are unspecified functions.  When you center circles of radius 2 on the curve so that they are all parallel to the xy-plane as above, you can't plot the tube because you don't have concrete formulas for f[t] and g[t].  Nevertheless, you can imagine that flat plates are put on the open end and you can measure the volume of the resulting container.
Do it.

G.5.b)

A solid R is given as all points that are simultaneously between:
-> the planes x +  y +  2  z = -1, and x +  y +  2  z = 5,
-> the planes x -  y -  2  z = -3, and x -  y -  2  z = 6, and 
-> the surfaces Sinh[x] -  y +  2  z = -1, and Sinh[x] -  y +  2  z = 2.
When you try to measure the volume of this solid, you go with:

\(Clear[x, y, z, u, v, w]; 
    
{u[x_, y_, z_], ulow, uhigh} = {x + y + 2\ z, \(-1\), 5}; 

    \({v[x_, y_, z_], vlow, vhigh} = {x - y - 2\ z, \(-3\), 6}; \)\){w[x_, y_, z_], wlow, whigh} = {Sinh[x] - y + 2 z, -1, 2};

Then you observe that (Subscript[R, uvw]) is the rectangular box
       ulow ≤ u ≤ uhigh, 
       vlow ≤ v ≤ vhigh, and 
       wlow ≤ w ≤ whigh.
So:
       \(volume = 
        ∫\_\%\(∫\_\%\(∫\_\(\ R\)\%\ 
              dx dy dz\)\)\)
       \(\( = 
        ∫\_\%\(∫\_\%\(∫\_\(\ R\_uvw\)\%\ 
              V\_xyz[u, v, w] du dv 
                dw\)\)\)\)
        = 
        (∫_wlow^whigh)
            (∫_vlow^vhigh)(∫_ulow^uhigh) 
              (Subscript[V, xyz])[u, v, w] du dv 
                dw.

\(xyzsolved = 
      Solve[{u == u[x, y, z], v == v[x, y, z], 
			w == w[x, y, z]}, {x, 
          y, z}]\)

Instead of finding x[u, v, w], y[u, v, w], and z[u, v, w] in order to calculate the volume conversion factor 
       (Subscript[V, xyz])[u, v, w] 
for converting uvw-volume measurements into xyz-volume measurements, you can calculate 
       (Subscript[V, uvw])[x, y, z] 
which converts xyz-volume measurements into uvw-volume measurements:

\(Clear[gradu, gradv, gradw]; 

    gradu[x_, y_, z_] = {D[u[x, y, z], x], D[u[x, y, z], y], 
        D[u[x, y, z], z]}; 

    gradv[x_, y_, z_] = {D[v[x, y, z], x], D[v[x, y, z], y], 
        D[v[x, y, z], z]}; 

    gradw[x_, y_, z_] = {D[w[x, y, z], x], D[w[x, y, z], y], 
        D[w[x, y, z], z]}; 

    Vuvw[x_, y_, z_] = 
      Abs[Det[{gradu[x, y, z], gradv[x, y, z], gradw[x, y, z]}]]\)

Look at this and use just a smidgen of common sense to figure out what 
       (Subscript[V, xyz])[u, v, w]
has got to be. Once you have 
       (Subscript[V, xyz])[u, v, w] 
nailed down, use it to help to measure the volume of the solid described at the beginning.

G.6)  Average values, centroids, and centers of mass

G.6.a.i)

Agree that (Subscript[avf, R]) stands for the average value of f[x, y, z] as {x, y, z} varies through a specified solid region R in xyz-space. The formula for (Subscript[avf, R]) is
       \(avf\_R = 
        \(∫\_\%\(∫\_\%\(∫\_\(\ R\)\%\ 
                f[x, y, z] dx dy 
                  dz
                    \)\)\)\/\(∫\_\%\(∫\_\%\(∫\_\(\ R\)\%\ 
                dx dy 
                  dz\)\)\)\).
How do you know that (Subscript[avf, R]) is a number that falls between the minimum value of f[x, y, z] on R and the maximum value of f[x, y, z] on R?

G.6.a.ii)

Suppose f[x, y, z] is not constant on R. 
Why do you expect that there are points 
       {(Subscript[x, 1]), (Subscript[y, 1]), (Subscript[z, 1])} and {(Subscript[x, 2]), (Subscript[y, 2]), (Subscript[z, 2])} 
in R with
       f[(Subscript[x, 1]), (Subscript[y, 1]), (Subscript[z, 1])] < (Subscript[avf, R]) and
       f[(Subscript[x, 2]), (Subscript[y, 2]), (Subscript[z, 2])] > (Subscript[avf, R]) ?

G.6.b)

Calculate the average value of f[x, y, z] = (x^2) +  (y^2) +  (z^2) on the trapezoidal box 
       3 ≤ x ≤ 7,
       5 ≤ y ≤ 9, and
       0 ≤ z ≤ 6 +  6  x +  6  y.

G.6.c) Centroids

You get the centroid
       {(Subscript[x, c]), (Subscript[y, c]), (Subscript[z, c])} 
of a solid R by setting
       (Subscript[x, c]) = the average value of f[x, y, z] = x on R,
       (Subscript[y, c]) = the average value of g[x, y, z] = y on R, and
       z = the average value of h[x, y, z] = z on R.
Calculate the centroid of the trapezoidal box 
       3 ≤ x ≤ 7,
       5 ≤ y ≤ 9, and
       0 ≤ z ≤ 6 +  6  x +  6  y.

G.6.d) Weighted averages

Take a nonnegative function p[x, y, z] and think of it this way:
The bigger p[x, y, z] is the more weight the point {x, y, z} has.
The weighted average value of a function f[x, y, z] with respect to p[x, y, z] on a region R in three dimensions is the number 
       \(avfp\_R = 
        \(∫\_\%\(∫\_\%\(∫\_\(\ R\)\%\ 
                f[x, y, z] p[x, y, z] dx dy 
                  dz
                    \)\)\)\/\(∫\_\%\(∫\_\%\(∫\_\(\ R\)\%\ 
                p[x, y, z] dx dy 
                  dz\)\)\)\).

G.6.d.i)

Given a weight function p[x, y, z], how do you know that (Subscript[avfp, R]) is a number that falls between the minimum value of f[x, y, z] on R and the maximum value of f[x, y, z] on R?

G.6.d.ii)

Take p[x, y, z] = (e^(-x - y - z)).
Calculate the weighted average of f[x, y, z] = (x^2) +  (y^2) +  (z^2) with respect to p[x, y, z] of the trapezoidal box 
       0 ≤ x ≤ 1,
       0 ≤ y ≤ 2, and
       0 ≤ z ≤ 1 +  2  x +  y.

G.6.e) Center of mass

A solid R has density p[x, y, z] (grams/(cm^3)) at a point {x, y, z}.
You get the center of mass
       {(Subscript[x, μ]), (Subscript[y, μ]), (Subscript[z, μ])}
of a solid R by setting
       (Subscript[x, μ]) = the average value of f[x, y, z] = x with respect to p[x, y, z] on R,
       (Subscript[y, μ]) = the average value of g[x, y, z] = y with respect to p[x, y, z] on R, and
       (Subscript[z, μ]) = the average value of h[x, y, z] = z with respect to p[x, y, z] on R.    
The top of a solid is the domed surface
       z = 8 -  (x^2) -  (y^2),
and the bottom is the paraboloid
       z = (x^2) +  (y^2).
The density p[x, y, z] at a point {x, y, z} in the solid is proportional to the distance of {x, y, z} from the plane z = 0, so for z ≠ 0, p[x, y, z] = c z, where c is a positive constant of proportionality. 
Calculate the center of mass {(Subscript[x, μ]), (Subscript[y, μ]), (Subscript[z, μ])} of the solid.

G.7)  Switching the order of integration

G.7.a.i)

Here's a nice little region in the xy-plane.

\(Clear[x, y, region, pregion, vline, x0]; 

    Needs["Graphics`FilledPlot`"]; \)

\(region = 
      FilledPlot[\@x, {x, 0, 1}, AspectRatio -> 1/GoldenRatio, 
        Fills -> Pink, AxesLabel -> {"x", "y"}, 
        PlotLabel -> \*""x = \!\(y\^\(2\\ \)\)"", 
        DisplayFunction -> Identity]; 

    Show[region, \ DisplayFunction -> $DisplayFunction]; \)

You want to calculate ∫(∫_R) 
          ((x^2) + (y^3)) dA.  Here's a view of the region with a randomly placed vertical line.

\(x0 = Random[]; 

    vline = Graphics[{Thickness[0.01], Brown, Line[{{x0, 0}, {x0, \@x0}}]}]; 
    
pregion = 
      Show[region, vline, DisplayFunction -> $DisplayFunction]; \)

Use what you see to fill in the boxes so that
	∫(∫_R) 
          ((x^2) + (y^3)) dA = \(∫\_□\%□\(∫\_□\%□\ 
          \((x\^2 + y\^3)\) dy dx\)\).

G.7.a.ii)

Here's that nice little region in the xy-plane again.

\(Clear[x, y, region, pregion, hline, y0]; 

    region = FilledPlot[\@x, {x, 0, 1}, AspectRatio -> 1/GoldenRatio, 
        Fills -> Pink, AxesLabel -> {"x", "y"}, 
        PlotLabel -> \*""x = \!\(y\^\(2\\ \)\)"", 
        DisplayFunction -> Identity]; 

    Show[region, \ DisplayFunction -> $DisplayFunction]; \)

You want to calculate ∫(∫_R) 
          ((x^2) + (y^3)) dA.  Here's a view of the region with a randomly placed horizontal line.

\(y0 = Random[]; 

    hline = Graphics[{Thickness[0.01], Brown, Line[{{y0\^2, y0}, {1, y0}}]}]; 
    
pregion = 
      Show[region, hline, DisplayFunction -> $DisplayFunction]; \)

Use what you see to fill in the boxes so that
	∫(∫_R)((x^2) + (y^3)) dA = \(∫\_□\%□\(∫\_□\%□\ 
          \((x\^2 + y\^3)\) dx dy\)\).

G.7.a.iii)

In calculating the limits for the integral over the region here,

Show[pregion];

you could start with inequalities (y^2) ≤ x ≤ 1 and 0 ≤ y ≤ 1 from the picture.  That would give you the limits you needed just above here.  If you want the limits for the integral in the reverse order, you can start from these inequalities and get the corresponding inequalities for the other direction.  Do it.

G.7.b)

Calculate the double integral
       (∫_0^1)(∫_0^(1 - x)) 
          Sin[π (x +  y)] dy dx.
Then rewrite the integral in the order
       \(∫\_□\%□\(∫\_□\%□\ 
          Sin[π \((x + \ y)\)] dx dy\)\),
filling in the □'s with the appropriate limits.
Confirm your answer by calculating both integrals.

G.7.c)

Calculate the triple integral
       (∫_0^1)
          (∫_0
            ^(1 - x))(∫_0
              ^(x + y))Sin[π (x +  y +  z)] dz 
              dy dx.
Then rewrite the integral in the order
       \(∫\_□\%□\(∫\_□\%□\(∫\_□\%□ 
                Sin[π \((x + \ y + \ z)\)] dy 
              dx dz\)\)\),
filling in the □'s with the appropriate limits.
Confirm your answer by calculating both integrals.

G.8)  Linear equations and volume

G.8.a.i) Tripping in 3D

Go with:

\(Clear[x, y, z, u, v, w]; 
    
{{au, bu, cu}, {av, bv, cv}, {aw, bw, cw}} = {{1, 2, 0.3}, {2, \(-3\), 
          1}, {3, \(-1\), 3}}; 
    
{u[x_, y_, z_], v[x_, y_, z_], w[x_, y_, z_]} = {au\ x + bu\ y + cu\ z, 
        av\ x + bv\ y + cv\ z, aw\ x + bw\ y + cw\ z}\)

Make three vectors:

{directionx, directiony, 
        directionz} = {{au, av, aw}, {bu, bv, bw}, {cu, cv, cw}}

Note the relationship of these vectors to the variables x, y, and z, and
look at these plots of 
       x directionx with its tail at {0, 0, 0}, 
       y directiony with its tail at the tip of x directionx, and
       z directionz with its tail at the tip of x directionx +  y directiony, 
and the point 
       {u[x, y, z], v[x, y, z], w[x, y, z]} 
for x = 1.2, y = 0.9 and z = 0.7:

{x, y, z} = {1.2, 0.9, 0.7}; uvwpoint = 
      Graphics3D[{Red, PointSize[0.05], 
          Point[{u[x, y, z], v[x, y, z], w[x, y, z]}]}]; \(trip = {
        Arrow[x\ directionx, Tail -> {0, 0, 0}, 
          VectorColor -> Blue], 
        Arrow[y\ directiony, Tail -> x\ directionx, 
          VectorColor -> Blue], 
        Arrow[z\ directionz, Tail -> x\ directionx + y\ directiony, 
          VectorColor -> Blue]}; 

    \(labels = {Graphics3D[Text["x directionx", \(x\ directionx\)\/2]], 
        Graphics3D[
          Text["y directiony", x\ directionx + \(y\ directiony\)\/2]], 
        Graphics3D[
          Text["z directionz", 
            x\ directionx + y\ directiony + \(z\ directionz\)\/2]]}; \)\)\(threedims = Axes3D[1.0]; 


    Show[uvwpoint, labels, trip, threedims, PlotRange -> All, 
      Boxed -> False, ViewPoint -> CMView]; \)

Here's the same thing for {x, y, z} = {2.1, 1.6, -3.1}:

{x, y, z} = {2.1, 1.6, -3.1}; uvwpoint = 
      Graphics3D[{Red, PointSize[0.05], 
          Point[{u[x, y, z], v[x, y, z], w[x, y, z]}]}]; \(trip = {
        Arrow[x\ directionx, Tail -> {0, 0, 0}, 
          VectorColor -> Blue], 
        Arrow[y\ directiony, Tail -> x\ directionx, 
          VectorColor -> Blue], 
        Arrow[z\ directionz, Tail -> x\ directionx + y\ directiony, 
          VectorColor -> Blue]}; 

    \(labels = {Graphics3D[Text["x directionx", \(x\ directionx\)\/2]], 
        Graphics3D[
          Text["y directiony", x\ directionx + \(y\ directiony\)\/2]], 
        Graphics3D[
          Text["z directionz", 
            x\ directionx + y\ directiony + \(z\ directionz\)\/2]]}; \)\)\(threedims = Axes3D[1.0]; 


    Show[uvwpoint, labels, trip, threedims, PlotRange -> All, 
      Boxed -> False, ViewPoint -> CMView]; \)

Read the code, and play with your own choices of x, y, and z until you get the feel of what's happening. 
Once you feel that you have an idea of what's happening, explain the physical process of going with an xyz-point {x, y, z} and the vectors, 
       directionx, directiony, and directionz, 
to take a trip starting at {0, 0, 0} and ending at the uvw-point  
       {u[x, y, z], v[x, y, z], w[x, y, z]}.

What you saw was the geometry of the trip.
Here's the algebra:

\(Clear[x, y, z, u, v, w, au, bu, cu, av, bv, cv, aw, bw, cw]; 
    
{u[x_, y_, z_], v[x_, y_, z_], w[x_, y_, z_]} = {au\ x + bu\ y + cu\ z, 
        av\ x + bv\ y + cv\ z, aw\ x + bw\ y + cw\ z}; \)

{directionx, directiony, 
        directionz} = {{au, av, aw}, {bu, bv, bw}, {cu, cv, cw}};

{u[x, y, z], v[x, y, z], w[x, y, z]} == 
      x directionx + y directiony + z directionz

G.8.a.ii) Tripping in 3D when directionx, directiony, and directionz are not coplanar

Continue to go with the set-up in part i):

\(Clear[x, y, z, u, v, w]; 
    
{{au, bu, cu}, {av, bv, cv}, {aw, bw, cw}} = {{1, 2, 0.3}, {2, \(-3\), 
          1}, {3, \(-1\), 3}}; 
    
{u[x_, y_, z_], v[x_, y_, z_], w[x_, y_, z_]} = {au\ x + bu\ y + cu\ z, 
        av\ x + bv\ y + cv\ z, aw\ x + bw\ y + cw\ z}\)

And the vectors you tripped on in part i):

{directionx, directiony, 
        directionz} = {{au, av, aw}, {bu, bv, bw}, {cu, cv, cw}}

Note that if you are given three numbers u, v, and w, Mathematica has no trouble solving the linear system
       u = u[x, y, z] = au x +  bu y +  cu z, 
       v = v[x, y, z] = av x +  bv y +  cv z, and
       w = w[x, y, z] = aw x +  bw y +  cw z
for x, y, and z:

{u, v, w} = {0.3, -6.8, 18.43}; Solve[{u == au x + bu y + cu z, v == av x + bv y + cv z, 
        w == aw x + bw y + cw z}, {x, y, z}]

To see why Mathematica has no problem delivering the solutions above, calculate 
       |directionx . 
          (directiony×directionz)|:

Abs[directionx . directiony\[Cross]directionz]

This is not 0; so the parallelepiped determined by the three vectors    
       directionx = {au, av, aw}, 
       directiony = {bu, bv, bw}, and 
       directionz = {cu, cv, cw} 
has positive volume (see the Tutorial problem on parallelepipeds). 
The upshot:
The vectors directionx, directiony, and directionz cannot be coplanar.
How does this fact help you explain why it is that no matter what three numbers {u, v, w} you go with Mathematica will be able to solve the linear system
       u = u[x, y, z] = au x +  bu y +  cu z, 
       v = v[x, y, z] = av x +  bv y +  cv z, and
       w = w[x, y, z] = aw x +  bw y +  cw z
for x, y, and z?

G.8.a.iii)

Here's a new set-up:

\(Clear[x, y, z, u, v, w]; 
    
{{au, bu, cu}, {av, bv, cv}} = {{1, 2, 1}, {2, \(-3\), 1}}; 

    \({aw, bw, cw} = {au, bu, cu} + {av, bv, cv}; \)\){u[x_, y_, z_], v[x_, y_, z_], w[x_, y_, z_]} = {au x + bu y + cu z, 
        av x + bv y + cv z, aw x + bw y + cw z}

And the three vectors:

{directionx, directiony, 
        directionz} = {{au, av, aw}, {bu, bv, bw}, {cu, cv, cw}}

If you are given three numbers u, v, and w, Mathematica can run into big trouble solving the linear system
       u = u[x, y, z] = au x +  bu y +  cu z, 
       v = v[x, y, z] = av x +  bv y +  cv z, and
       w = w[x, y, z] = aw x +  bw y +  cw z
for x, y, and z:

{u, v, w} = {1, 1, 1}; Solve[{u == au x + bu y + cu z, v == av x + bv y + cv z, 
        w == aw x + bw y + cw z}, {x, y, z}]

To see why Mathematica has a big problem delivering the solutions above, calculate 
       |directionx . 
          (directiony×directionz)|:

Abs[directionx . directiony\[Cross]directionz]

This is 0; so the parallelepiped determined by the three vectors    
       directionx = {au, av, aw}, 
       directiony = {bu, bv, bw}, and 
       directionz = {cu, cv, cw} 
has zero volume. 
The upshot:
The vectors directionx, directiony, and directionz are coplanar.
How does this help you explain why when you go with the numbers 
       au, bu, cu, av, bv, cv, aw, bw, and cw 
used here, then for all but very special choices of u, v, and w, it will be impossible to solve  
       u = u[x, y, z] = au x +  bu y +  cu z, 
       v = v[x, y, z] = av x +  bv y +  cv z, and
       w = w[x, y, z] = aw x +  bw y +  cw z
for x, y, and z?

G.8.a.iv)

Run with everything cleared:

\(Clear[x, y, z, u, v, w, au, av, aw, bu, bv, bw, cu, cv, cw]; 
    
{u[x_, y_, z_], v[x_, y_, z_], w[x_, y_, z_]} = {au\ x + bu\ y + cu\ z, 
        av\ x + bv\ y + cv\ z, aw\ x + bw\ y + cw\ z}\)

And the three vectors:

{directionx, directiony, 
        directionz} = {{au, av, aw}, {bu, bv, bw}, {cu, cv, cw}}

Make a matrix:

coefficientmatix = {{au, bu, cu}, {av, bv, cv}, {aw, bw, cw}}; MatrixForm[coefficientmatix]

Take its determinant:

detmatrix = Det[coefficientmatix]

Look at:
       |directionx . 
          (directiony×directionz)|:

vol = Expand[directionx . directiony\[Cross]directionz]

And look at:

detmatrix == vol

Explain this: 
When you go with numbers
       au, bu, cu, av, bv, cv, aw, bw, and cw 
and the determinant of the resulting coefficient matrix:

MatrixForm[coefficientmatix]

is not 0, then you are always guaranteed that given any numbers u, v, and w it will be possible to solve the system
       u = u[x, y, z] = au x +  bu y +  cu z, 
       v = v[x, y, z] = av x +  bv y +  cv z, and
       w = w[x, y, z] = aw x +  bw y +  cw z
for x, y, and z.
And explain this: 
When you go with numbers
       au, bu, cu, av, bv, cv, aw, bw, and cw 
and the determinant of the resulting coefficient matrix

MatrixForm[coefficientmatix]

is  0, then for all but very special choices of u, v, and w it will be impossible to solve  
       u = u[x, y, z] = au x +  bu y +  cu z, 
       v = v[x, y, z] = av x +  bv y +  cv z, and
       w = w[x, y, z] = aw x +  bw y +  cw z
for x, y, and z.

G.9)  The volume conversion factor (Subscript[V, xyz])[u, v, w]

G.9.a)

Here's a cylinder plotted in uvw-space:

\(Clear[s, t]; 
    
{{slow, shigh}, {tlow, thigh}} = {{0, 1}, {0, 2\ π}}; 

    \(uvwplot = 
      ParametricPlot3D[{Cos[t], Sin[t], s}, {s, slow, shigh}, {t, tlow, 
          thigh}, BoxRatios -> Automatic, Boxed -> False, 
        ViewPoint -> CMView, 
        AxesLabel -> {"u", "v", "w"}]; \)\)

Go from uvw-space to xyz-space with:

\(Clear[x, y, z]; 
    
{x[u_, v_, w_], y[u_, v_, w_], z[u_, v_, w_]} = {u, v, u\ v\ w}\)

Here's how that cylinder plots out in xyz-space:

ParametricPlot3D[
      Evaluate[{x[Cos[t], Sin[t], s], y[Cos[t], Sin[t], s], 
          z[Cos[t], Sin[t], s]}], {s, slow, shigh}, {t, tlow, thigh}, 
      AxesLabel -> {"x", "y", "z"}];

Damaged goods.
 Look at the volume conversion factor (Subscript[V, xyz])[u, v, w]:

\(Clear[gradx, grady, gradz, Vxyz]; 

    gradx[u_, v_, w_] = {D[x[u, v, w], u], D[x[u, v, w], v], 
        D[x[u, v, w], w]}; 

    grady[u_, v_, w_] = {D[y[u, v, w], u], D[y[u, v, w], v], 
        D[y[u, v, w], w]}; 

    gradz[u_, v_, w_] = {D[z[u, v, w], u], D[z[u, v, w], v], 
        D[z[u, v, w], w]}; 

    Vxyz[u_, v_, w_] = 
      Abs[Det[{gradx[u, v, w], grady[u, v, w], gradz[u, v, w]}]]\)

Use the volume conversion factor to help to explain why the xyz-plot of the original uvw-cylinder turned out the way it did.

G.9.b)

Take any cleared functions f[u] and g[u, v]. 
Someone said that if you start in uvw-space with a solid (Subscript[R, uvw]) and go to xyz-space via
       x[u, v, w] = u,
       y[u, v, w] = v +  f[u], and
       z[u, v, w] = w +  g[u, v], 
then the xyz-plot, (Subscript[R, xyz]), of (Subscript[R, uvw]) is likely to be a different shape from the original shape of (Subscript[R, uvw]), but the xyz-volume measurement of (Subscript[R, xyz]) is likely to be the same as the uvw-volume measurement of (Subscript[R, uvw]).
What's your opinion?

Start with:

\(Clear[x, y, z, u, v, w, f, g]; 
x[u_, v_, w_] = u; 

    \(y[u_, v_, w_] = v + f[u]; \)\)z[u_, v_, w_] = w + g[u, v];