VC.09 Spherical Coordinates
 LITERACY

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

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

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]; \)

L.1)

You can specify a point in three dimensions as usual by its three coordinates {x, y, z}.
Another way to specify a point is to plant the x-, y-, and z-axes at {0, 0, 0}, and then run a stick from {0, 0, 0} to the point:

\(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[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}]; label = Graphics3D[Text["{x,y,z}", scale Z + {0, 0, 0.7}]]; 
    Show[xyplane, axes, ray, point, label, Boxed -> False, 
      ViewPoint -> {2.747, 1.594, 1.168}, 
      Epilog -> {xaxislabel, yaxislabel, zaxislabel}];

The spherical coordinates {r, s, t} of the plotted point are specified by the equations 
       x = r Sin[s] Cos[t],
       y = r Sin[s] Sin[t], and
       z = r Cos[s].
Take out a pencil and label the meaning of the measurements r, s, and t on the plot above.

L.2)

Set numbers (r^( *)), slow, shigh, tlow, and thigh so that the xyz-points
       {x[s, t], y[s, t], z[s, t]} =  
              {(r^( *)) Sin[s] Cos[t], (r^( *)) Sin[s] Sin[t], 
        (r^( *)) Cos[s]}
with slow ≤ s ≤ shigh and tlow ≤ t ≤ thigh describe the whole sphere 
       (x^2) +  (y^2) +  (z^2) = (16^2) 
of radius r centered at {0, 0, 0}.
What happens when you take your answer above and change t to 
t + π?

L.3)

Set numbers (r^( *)), slow, shigh, tlow, and thigh so that the xyz-points
       {x[s, t], y[s, t], z[s, t]} =  
              {(r^( *)) Sin[s] Cos[t], (r^( *)) Sin[s] Sin[t], 
        (r^( *)) Cos[s]}
with slow ≤ s ≤ shigh and tlow ≤ t ≤ thigh describe the part of the sphere 
       (x^2) +  (y^2) +  (z^2) = 9
consisting of those points with z ≥ 0.

L.4)

Set numbers (r^( *)), slow, shigh, tlow, and thigh so that the xyz-points
       {x[s, t], y[s, t], z[s, t]} =  
              {(r^( *)) Sin[s] Cos[t], (r^( *)) Sin[s] Sin[t], 
        (r^( *)) Cos[s]}
with slow ≤ s ≤ shigh and tlow ≤ t ≤ thigh describe the part of the sphere 
       (x^2) +  (y^2) +  (z^2) = 25
consisting of those points with x ≥ 0.

L.5)

Set numbers slow, shigh, tlow, and thigh so that the xyz-points
       {x[s, t], y[s, t], z[s, t]} =  
              {2  Sin[s] Cos[t], 2 Sin[s] Sin[t], 2  Cos[s]}
with slow ≤ s ≤ shigh and tlow ≤ t ≤ thigh describe something like this:

spacer = 0.2; h = 2; threedims = 
      Graphics3D[{{Blue, Line[{{-h, 0, 0}, {h, 0, 0}}]}, 
          Text["x", {h + spacer, 0, 0}], {Blue, 
            Line[{{0, -h, 0}, {0, h, 0}}]}, 
          Text["y", {0, h + spacer, 0}], {Blue, 
            Line[{{0, 0, 0}, {0, 0, h + 0.3}}]}, 
          Text["z", {0, 0, h + 0.3 + spacer}]}]; CMView = {2.7, 1.6, 1.2}; \(Clear[x, y, z, r, s, t]; 
x[r_, s_, t_] = r\ Sin[s]\ Cos[t]; 

    \(y[r_, s_, t_] = r\ Sin[s]\ Sin[t]; \)\)z[r_, s_, t_] = r Cos[s]; plot = 
      ParametricPlot3D[{x[2, s, t], y[2, s, t], z[2, s, t]}, {s, 0, 
          (π/4)}, {t, 0, 2 π}, DisplayFunction -> Identity]; 
    Show[plot, threedims, Boxed -> False, 
      ViewPoint -> {2.747, 1.594, 1.168}, PlotRange -> All, 
      DisplayFunction -> $DisplayFunction];

L.6)

Set numbers slow, shigh, tlow, and thigh so that the xyz-points
       {x[s, t], y[s, t], z[s, t]} =  
              {2  Sin[s] Cos[t], 2 Sin[s] Sin[t], 2  Cos[s]}
with slow ≤ s ≤ shigh and tlow ≤ t ≤ thigh describe something like this:

spacer = 0.2; h = 2; threedims = 
      Graphics3D[{{Blue, Line[{{-h, 0, 0}, {h, 0, 0}}]}, 
          Text["x", {h + spacer, 0, 0}], {Blue, 
            Line[{{0, -h, 0}, {0, h, 0}}]}, 
          Text["y", {0, h + spacer, 0}], {Blue, 
            Line[{{0, 0, 0}, {0, 0, h + 0.3}}]}, 
          Text["z", {0, 0, h + 0.3 + spacer}]}]; CMView = {2.7, 1.6, 1.2}; \(Clear[x, y, z, r, s, t]; 
x[r_, s_, t_] = r\ Sin[s]\ Cos[t]; 

    \(y[r_, s_, t_] = r\ Sin[s]\ Sin[t]; \)\)z[r_, s_, t_] = r Cos[s]; plot = 
      ParametricPlot3D[{x[2, s, t], y[2, s, t], z[2, s, t]}, {s, (π/6), 
          (π/3)}, {t, 0, 2 π}, DisplayFunction -> Identity]; 
    Show[plot, threedims, Boxed -> False, 
      ViewPoint -> {2.747, 1.594, 1.168}, PlotRange -> All, 
      DisplayFunction -> $DisplayFunction];

L.7)

Set numbers \(\(s\^*\)\), rlow, rhigh, tlow, and thigh so that the xyz-points
       {x[r, t], y[r, t], z[r, t]} =  
              \({r\ Sin[\(s\^*\)] Cos[t], r\ Sin[\(s\^*\)] Sin[t], r\ Cos[\(s\^*\)]}
        \)
with rlow ≤ r ≤ rhigh and tlow ≤ t ≤ thigh describe something like this:

spacer = 0.2; h = 2; threedims = 
      Graphics3D[{{Blue, Line[{{-h, 0, 0}, {h, 0, 0}}]}, 
          Text["x", {h + spacer, 0, 0}], {Blue, 
            Line[{{0, -h, 0}, {0, h, 0}}]}, 
          Text["y", {0, h + spacer, 0}], {Blue, 
            Line[{{0, 0, 0}, {0, 0, h + 0.3}}]}, 
          Text["z", {0, 0, h + 0.3 + spacer}]}]; CMView = {2.7, 1.6, 1.2}; \(Clear[x, y, z, r, s, t]; 
x[r_, s_, t_] = r\ Sin[s]\ Cos[t]; 

    \(y[r_, s_, t_] = r\ Sin[s]\ Sin[t]; \)\)z[r_, s_, t_] = r Cos[s]; plot = 
      ParametricPlot3D[{x[r, (π/6), t], y[r, (π/6), t], 
          z[r, (π/6), t]}, {r, 0.7, 2}, {t, 0, 2 π}, 
        DisplayFunction -> Identity]; Show[plot, threedims, Boxed -> False, 
      ViewPoint -> {2.747, 1.594, 1.168}, PlotRange -> All, 
      DisplayFunction -> $DisplayFunction];

L.8)

Set numbers \(\(s\^*\)\), rlow, rhigh, tlow, and thigh so that the xyz-points
       {x[r, t], y[r, t], z[r, t]} =  
              \({r\ Sin[\(s\^*\)] Cos[t], r\ Sin[\(s\^*\)] Sin[t], r\ Cos[\(s\^*\)]}
        \)
with rlow ≤ r ≤ rhigh and tlow ≤ t ≤ thigh describe something like this:

spacer = 0.2; h = 2; threedims = 
      Graphics3D[{{Blue, Line[{{-h, 0, 0}, {h, 0, 0}}]}, 
          Text["x", {h + spacer, 0, 0}], {Blue, 
            Line[{{0, -h, 0}, {0, h, 0}}]}, 
          Text["y", {0, h + spacer, 0}], {Blue, 
            Line[{{0, 0, 0}, {0, 0, h + 0.3}}]}, 
          Text["z", {0, 0, h + 0.3 + spacer}]}]; CMView = {2.7, 1.6, 1.2}; \(Clear[x, y, z, r, s, t]; 
x[r_, s_, t_] = r\ Sin[s]\ Cos[t]; 

    \(y[r_, s_, t_] = r\ Sin[s]\ Sin[t]; \)\)z[r_, s_, t_] = r Cos[s]; plot = 
      ParametricPlot3D[{x[r, (π/6), t], y[r, (π/6), t], 
          z[r, (π/6), t]}, {r, 0.7, 2}, {t, (π/2), ((3 π)/2)}, 
        DisplayFunction -> Identity]; Show[plot, threedims, Boxed -> False, 
      ViewPoint -> {2.747, 1.594, 1.168}, PlotRange -> All, 
      DisplayFunction -> $DisplayFunction];

L.9)

Set numbers (t^( *)), rlow, rhigh, slow, and shigh so that the xyz-points
       {x[r, s], y[r, s], z[r, s]} =  
              {r Sin[s] Cos[(t^( *))], r Sin[s] Sin[(t^( *))], r Cos[s]}
        
with rlow ≤ r ≤ rhigh and slow ≤ s ≤ shigh describe something like this:

spacer = 0.2; h = 2; threedims = 
      Graphics3D[{{Blue, Line[{{-h, 0, 0}, {h, 0, 0}}]}, 
          Text["x", {h + spacer, 0, 0}], {Blue, 
            Line[{{0, -h, 0}, {0, h + 0.3, 0}}]}, 
          Text["y", {0, h + 0.3 + spacer, 0}], {Blue, 
            Line[{{0, 0, -h}, {0, 0, h}}]}, 
          Text["z", {0, 0, h + spacer}]}]; CMView = {2.7, 1.6, 1.2}; \(Clear[x, y, z, r, s, t]; 
x[r_, s_, t_] = r\ Sin[s]\ Cos[t]; 

    \(y[r_, s_, t_] = r\ Sin[s]\ Sin[t]; \)\)z[r_, s_, t_] = r Cos[s]; plot = 
      ParametricPlot3D[{x[r, s, (π/2)], y[r, s, (π/2)], 
          z[r, s, (π/2)]}, {r, 0.7, 2}, {s, (π/6), π}, 
        DisplayFunction -> Identity]; Show[plot, threedims, Boxed -> False, 
      ViewPoint -> {2.747, 1.594, 1.168}, PlotRange -> All, 
      DisplayFunction -> $DisplayFunction];

L.10)

You go to a library reference and learn that the volume of a sphere of radius r measures out to 
       (4/3) π (r^( 3)) cubic units.
You think about this for a second and then you type and execute:

\(Clear[x, y, z, r, s, t]; 
x[r_, s_, t_] = r\ Sin[s]\ Cos[t]; 

    \(y[r_, s_, t_] = r\ Sin[s]\ Sin[t]; \)\)\(z[r_, s_, t_] = r\ Cos[s]; 

Clear[gradx, grady, gradz, Vxyz]; 

    gradx[r_, s_, t_] = {D[x[r, s, t], \ r], D[x[r, s, t], \ s], 
        D[x[r, s, t], \ t]}; 

    grady[r_, s_, t_] = {D[y[r, s, t], \ r], D[y[r, s, t], \ s], 
        D[y[r, s, t], \ t]}; 

    gradz[r_, s_, t_] = {D[z[r, s, t], \ r], D[z[r, s, t], \ s], 
        D[z[r, s, t], \ t]}; 

    Vxyz[r_, s_, t_] = 
      TrigExpand[Det[{gradx[r, s, t], grady[r, s, t], gradz[r, s, t]}]]\)

And then you say that you can give your own hand calculation that explains where the formula 
       (4/3) π (r^( 3))
comes from.
Do it.

L.11)

Given a radius r, you can plot the sphere
       (x^2) +  (y^2) +  (z^2) = 1  
by going with spherical coordinates, and plotting
       {r Sin[s] Cos[t], r Sin[s] Sin[t], r Cos[s]}, 
running s from 0 to π, and running t from 0 to 2  π.
Given positive numbers a, b, and c, say how you go about plotting the ellipsoid (egg)
       ((((x/a)))^2)+((((y/b)))^2)+((((z/c)))^2)=1.

L.12)

Comment on the following statement:
"Spherical coordinates have to be in the bag of tricks of any serious plotting artist."

L.13)

Use spherical coordinates to pull off a very quick hand calculation of
       \(∫\_\%\(∫\_\%\(∫\_\(\ R\_xyz\)\%\((x\^2 + \ y\^2 + \ z\^2)\) 
              dx dy dz\)\)\)
where (Subscript[R, xyz])  is everything inside and on the sphere
       (x^2) +  (y^2) +  (z^2) = (a^2)

L.14)

Look at this:

\(Clear[x, y, z, f, r, s, t]; 
f[s_] = 3 - 2\ Sin[2\ s]; 

    \(x[r_, s_, t_] = r\ f[s]\ Sin[s]\ Cos[t]; \)\)y[r_, s_, t_] = r f[s] Sin[s] Sin[t]; \(z[r_, s_, t_] = r\ f[s]\ Cos[s]; 


    skin = ParametricPlot3D[{x[3, s, t], y[3, s, t], z[3, s, t]}, {s, 0, 
          π}, {t, 0, 2\ π}, PlotPoints -> {30, 30}, 
        Boxed -> False, BoxRatios -> Automatic, 
        ViewPoint -> CMView, PlotRange -> All, 
        AxesLabel -> {"x", "y", "z"}]; \)

Now look at:

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

    gradx[r_, s_, t_] = {D[x[r, s, t], \ r], D[x[r, s, t], \ s], 
        D[x[r, s, t], \ t]}; 

    grady[r_, s_, t_] = {D[y[r, s, t], \ r], D[y[r, s, t], \ s], 
        D[y[r, s, t], \ t]}; 

    gradz[r_, s_, t_] = {D[z[r, s, t], \ r], D[z[r, s, t], \ s], 
        D[z[r, s, t], \ t]}; 

    Vxyz[r_, s_, t_] = 
      Factor[TrigReduce[
          Det[{gradx[r, s, t], grady[r, s, t], gradz[r, s, t]}]]]\)

You have enough information to give a relatively painless calculation of the volume measurement of the solid whose outside skin is plotted above.
Do it.

L.15)

Look at this:

\(Clear[x, y, z, f, r, s, t]; 
f[s_] = 3 - 2\ Sin[2\ s]; 

    \(x[r_, s_, t_] = r\ f[s]\ Sin[s]\ Cos[t]; \)\)y[r_, s_, t_] = r f[s] Sin[s] Sin[t]; z[r_, s_, t_] = r f[s] Cos[s]; side = 
      ParametricPlot3D[{x[r, (π/4), t], y[r, (π/4), t], 
          z[r, (π/4), t]}, {r, 0, 3}, {t, 0, 2 π}, 
        PlotPoints -> {2, 30}, DisplayFunction -> Identity]; \(cap = 
      ParametricPlot3D[{x[3, s, t], y[3, s, t], z[3, s, t]}, {s, 0, 
          π\/4}, {t, 0, 2\ π}, PlotPoints -> {30, 30}, 
        DisplayFunction -> Identity]; 


    Show[cap, side, Boxed -> False, BoxRatios -> Automatic, 
      ViewPoint -> CMView, PlotRange -> All, 
      AxesLabel -> {"x", "y", "z"}, 
      DisplayFunction -> $DisplayFunction]; \)

Now look at:

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

    gradx[r_, s_, t_] = {D[x[r, s, t], \ r], D[x[r, s, t], \ s], 
        D[x[r, s, t], \ t]}; 

    grady[r_, s_, t_] = {D[y[r, s, t], \ r], D[y[r, s, t], \ s], 
        D[y[r, s, t], \ t]}; 

    gradz[r_, s_, t_] = {D[z[r, s, t], \ r], D[z[r, s, t], \ s], 
        D[z[r, s, t], \ t]}; 

    Vxyz[r_, s_, t_] = 
      Factor[TrigReduce[
          Det[{gradx[r, s, t], grady[r, s, t], gradz[r, s, t]}]]]\)

You have enough information to give a relatively painless calculation of the volume measurement of the solid whose outside skin is plotted above.
Do it.