VC.10 3D Surface Measurements
 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)

Give the formula for the divergence, divField[x, y, z], of a three-dimensional vector field 
       Field[x, y, z] = {m[x, y, z], n[x, y, z], p[x, y, z]}.

Say how the sign (positive or negative) of divField[x, y, z] tells you whether {x, y, z} is a source or a sink of the three-dimensional flow represented by F[x, y, z].

L.2)

How do you know that 
       Field[x, y, z] = {y z -  x, Sin[z] -  2  y, Cos[x y] -  5  (z^3)}
          
has sinks at every point {x, y, z}?
How do you know that the net flow of this vector field across the skin of any solid surface is from outside to inside?

L.3)

Determine the sources and sinks of
       Field[x, y, z] = {3  z -  3  (x^2), 3  z +  2  y, 4  z}.
Eyeball your answer and then respond quickly to the following questions.
If (Subscript[C, 1]) is the sphere of radius 2 centered at {4, 0, 0}, is the net flow of this vector field across (Subscript[C, 1]) from outside to inside, or is it from inside to outside?
If (Subscript[C, 2]) is the sphere of radius 2 centered at {-3, 0, 0}, is the net flow of this vector field across (Subscript[C, 2]) from outside to inside, or is it from inside to outside?

L.4)

Here's a vector field:

\(Clear[x, y, z, m, n, p, Field]; 
    
{m[x_, y_, z_], n[x_, y_, z_], p[x_, y_, z_]} = {x\^2 + E\^\(-y\), 
        y\^2, x - 2\ y\ z\^2}; 

    Field[x_, y_, z_] = {m[x, y, z], n[x, y, z], p[x, y, z]}\)

Use Gauss's formula to help come up with a measurement of the flow of this vector field across the surface of the three dimensional box consisting of all points {x, y, z} with
       0 ≤ x ≤ 2,  -1 ≤ y ≤ 3, and 0 ≤ z ≤ 3.
Is the net flow of this vector field across this skin from inside to outside, from outside to inside, or 0?

L.5)

Suppose C is the skin of a solid region in three dimensions.
Suppose Field[x, y, z] is a given vector field with divField[x, y, z] = 0 at all points {x, y, z}, and suppose this vector field has no singularities inside C.  Explain how you know that the net flow of this vector field across C is 0.

L.6)

Suppose C is the skin of a solid region in three dimensions.
Suppose Field[x, y, z] is a given vector field with divField[x, y, z] > 0 at all points {x, y, z} inside and on C, and suppose this vector field has no singularities inside C. Explain how you know that the net flow of this vector field across C is from inside to outside.

L.7)

Here's the gradient field of a cleared function f[x, y, z]:

\(Clear[f, gradf, x, y, z, m, n, p]; 
    
{m[x_, y_, z_], n[x_, y_, z_], p[x_, y_, z_]} = {D[f[x, y, z], \ x], 
        D[f[x, y, z], \ y], D[f[x, y, z], \ z]}; 

    gradf[x_, y_, z_] = {m[x, y, z], n[x, y, z], p[x, y, z]}\)

The gradient field is such a big deal in science that there are many commonly use notations for it. Here are some:
       ∇f[x, y, z] = gradf[x, y, z] 
        = {D[f[x, y, z], x], D[f[x, y, z], y], D[f[x, y, z], z]} 
        = {(f^((1, 0, 0)))[x, y, z], (f^((0, 1, 0)))[x, y, z], 
          (f^((0, 0, 1)))[x, y, z]} 
       ={∂f[x, y, z]/∂x,∂f[x, y, z]/∂y,∂f[x, y, z]/∂z}.
Folks use these notations interchangably.
The Laplacian △f[x, y, z] of f[x, y, z] is defined by  
       △f[x, y, z]=(∂^2)f[x, y, z]/∂(x^2)+ (∂^2)f[x, y, z]/∂(y^2)+ (∂^2)f[x, y, z]/∂(z^2).
The Laplacian of f[x, y, z] is also a big deal in science.
Here is Mathematica's calculation of the Laplacian, △f[x, y, z], of a cleared function f[x, y, z]:

\(Clear[laplacianf]; 

    laplacianf[x_, y_, z_] = 
      D[f[x, y, z], {x, 2}] + D[f[x, y, z], {y, 2}] + 
        D[f[x, y, z], {z, 2}]\)

One of the reasons that the Laplacian is a big deal is that it is related to the gradient field.
Just what is the exact nature of the relationship between the divergence of the gradient field of f[x, y, z] and the Laplacian of f[x, y, z]?

L.8)

Suppose you are going with a function f[x, y, z], and you know that its Laplacian
       △f[x, y, z]=(∂^2)f[x, y, z]/∂(x^2)+ (∂^2)f[x, y, z]/∂(y^2)+ (∂^2)f[x, y, z]/∂(z^2)=0 
no matter what x, y, and z you go with.
Suppose also that f[x, y, z] has no singularities. 
Say how you know that the net flow of gradf[x, y, z] across the skin C of the surface of any given 3D solid is 0.

L.9)

Suppose you are going with a function f[x, y, z], and you know that its Laplacian
       △f[x, y, z]=(∂^2)f[x, y, z]/∂(x^2)+ (∂^2)f[x, y, z]/∂(y^2)+ (∂^2)f[x, y, z]/∂(z^2)=0
no matter what x, y, and z you go with.
Suppose also that f[x, y, z] has no singularities. 
Explain why it is impossible to find a point {(Subscript[x, 0]), (Subscript[y, 0]), (Subscript[z, 0])} with the property that
       f[(Subscript[x, 0]), (Subscript[y, 0]), (Subscript[z, 0])] > f[x, y, z]
for all points {x, y, z} nearby {(Subscript[x, 0]), (Subscript[y, 0]), (Subscript[z, 0])}, but not the same as {(Subscript[x, 0]), (Subscript[y, 0]), (Subscript[z, 0])}.
Think of it this way:
If there is a point {(Subscript[x, 0]), (Subscript[y, 0]), (Subscript[z, 0])} with the property that
       f[(Subscript[x, 0]), (Subscript[y, 0]), (Subscript[z, 0])] > f[x, y, z]
for all points {x, y, z} near {(Subscript[x, 0]), (Subscript[y, 0]), (Subscript[z, 0])} but not the same as {(Subscript[x, 0]), (Subscript[y, 0]), (Subscript[z, 0])}, then what is the net flow of gradf[x, y, z] across small spheres centered at {(Subscript[x, 0]), (Subscript[y, 0]), (Subscript[z, 0])}?

L.10)

A large solid region in three dimensions represents a big rock.  Part of the surface of the rock is kept at a prescribed temperature - maybe hotter at one point than at another.  The remainder of the surface is perfectly insulated.
You wait until the temperature inside the rock settles into its steady state condition. 
Say that temp[x, y, z] represents the steady state temperature at a position {x, y, z} inside the rock.  
In the steady state, no point inside the rock and not on the surface can be a source of new heat flow or a sink for old heat.
Why does this tell you that
       △temp[x, y, z]=
	(∂^2)temp[x, y, z]/∂(x^2)+ (∂^2)temp[x, y, z]/∂(y^2)+ (∂^2)temp[x, y, z]/∂(z^2)=0
at each point {x, y, z} inside but not on the surface of the rock? 
Explain why the hottest and the coldest locations of the rock must be on the outside skin of the rock, and not inside the rock.

L.11)

(Subscript[C, 1]) is the top half of a distorted ellipsoid centered at the origin parameterized as indicated:

\(Clear[x1, y1, z1, s, t]; 
x1[s_, t_] = 3\ Sin[s]\ Cos[t]; 

    \(y1[s_, t_] = 2\ Sin[s]\ Sin[t]; \)\)z1[s_, t_] = (2 - Sin[6 (s^2)]) Cos[s]; C1plot = 
      ParametricPlot3D[{x1[s, t], y1[s, t], z1[s, t]}, {s, 0, (π/2)}, {t, 
          0, 2 π}, PlotPoints -> {30, 30}, 
        AxesLabel -> {"x", "y", "z"}, 
        ViewPoint -> CMView, Boxed -> False];

(Subscript[C, 2]) is just a plain elliptical disk in the xy-plane parameterized as indicated:

\(Clear[x2, y2, z2, r, t]; 
x2[r_, t_] = 3\ r\ Cos[t]; 

    \(y2[r_, t_] = 2\ r\ Sin[t]; \)\)z2[r_, t_] = 0; C2plot = 
      ParametricPlot3D[{x2[r, t], y2[r, t], z2[r, t]}, {r, 0, 1}, {t, 0, 
          2 π}, PlotPoints -> {2, 30}, 
        AxesLabel -> {"x", "y", "z"}, 
        ViewPoint -> CMView, Boxed -> False];

Note that (Subscript[C, 1]) and (Subscript[C, 2]) have the same boundary curve:

Show[C1plot, C2plot, ViewPoint -> {4, 2, -4}];

Explain how you know that when you go with a vector field Field[x, y, z] with divField[x, y, z] = 0 throughout the solid region whose top skin is (Subscript[C, 1]) and whose bottom skin is (Subscript[C, 2]), then
       (∫_^)(∫_( (Subscript[C, 1]))^) 
          Field . upperunitnormal dA
        = 
        (∫_^)(∫_( (Subscript[C, 2]))^) 
            Field . upperunitnormal dA;
so that the flow of this vector field across both surfaces is the same.
What calculational nightmare does this help you avoid?

L.12)

You are given the formula for a vector field Field[x, y, z].
The first thing you notice is that this vector field has a singularity at {0, 0, 0}.  The second thing you do is calculate divField[x, y, z], and you are happy to learn that Field[x, y, z] has no sources or sinks other than at the singularity at {0, 0, 0}.
Your ultimate goal is to measure the flow of this vector field across the skin plotted below:

Needs["Graphics`Polyhedra`"]; Show[Polyhedron[GreatStellatedDodecahedron], Axes -> True, 
      Boxed -> False, ViewPoint -> CMView, 
      AxesLabel -> {"x", "y", "z"}];

The point {0, 0, 0} is inside this skin, but the exact parameterization of this skin is disgustingly tedious.  Outline the steps you would take to measure the flow of the given vector field across this skin.

L.13)

You are given the formula for a vector field Field[x, y, z].
The first thing you notice is that this vector field has a singularity at {0.8, -0.5, 1.0}.  The second thing you do is calculate divField[x, y, z], and you are happy to learn that Field[x, y, z] has no sources or sinks other than at the singularity at {0.8, -0.5, 1.0}.
Your ultimate goal is to measure the flow of this vector field across the skin plotted below:

Needs["Graphics`Polyhedra`"]; Show[Polyhedron[GreatDodecahedron], 
      Graphics3D[{PointSize[0.03], Point[{0.8, -0.5, 1.0}]}], 
      Graphics3D[Text["{0.8,-0.5,1.0}", {0.8, -0.5, 1.1}]], 
      Axes -> True, Boxed -> False, ViewPoint -> CMView, 
      AxesLabel -> {"x", "y", "z"}];

This is the skin of a solid region and the point {0.8, -0.5, 1.0} is outside this skin, but the exact parameterization of this skin is disgustingly tedious.  Outline the steps you would take to measure the flow of the given vector field across this skin.

L.14)

Discuss the statement:
"Part of mathematics is the art of replacing heavy calculations by simple calculations."

L.15)

When you place an electrical charge of strength q at a point {a, b, c}, and you center a small sphere at {a, b, c}, then the flux (= flow) of the resulting electric field across the skin of the sphere is 4  π q.
Look at this skin of a solid region:

Needs["Graphics`Polyhedra`"]; Show[Polyhedron[Dodecahedron], Axes -> True, 
      Boxed -> False, ViewPoint -> CMView, 
      AxesLabel -> {"x", "y", "z"}];

Place an electrical charge of strength q at a point {a, b, c} inside this skin and measure the flux (= flow) of the resulting electric field across this skin.

L.16)

When you place an electrical charge of strength q at a point {a, b, c} and you center a small sphere at {a, b, c}, then the flux (= flow) of the resulting electric field across the skin of the sphere is 4  π q.
Look at this skin of a solid region:

Needs["Graphics`Polyhedra`"]; Show[Polyhedron[Dodecahedron], Axes -> True, 
      Boxed -> False, ViewPoint -> CMView, 
      AxesLabel -> {"x", "y", "z"}];

Place an electrical charge of strength q at a point {a, b, c} outside this skin, and then measure the flux (= flow) of the resulting electric field across this skin.

L.17)

When you place an electrical charge of strength q at a point {a, b, c}, and you center a small sphere at {a, b, c}, then the flux (= flow) of the resulting electric field across this small sphere is 4  π q.

Gauss's law in physics says that if you have a surface C that is the boundary surface of a solid in three dimensions, and if you take k different points 
          {(Subscript[a, 1]), (Subscript[b, 1]), (Subscript[c, 1])},  {(Subscript[a, 2]), (Subscript[b, 2]), (Subscript[c, 2])}, … , {(Subscript[a, k]), (Subscript[b, k]), (Subscript[c, k])} 
inside C and you place electrical charges of strength 
          (Subscript[q, 1]) at {(Subscript[a, 1]), (Subscript[b, 1]), (Subscript[c, 1])}
          (Subscript[q, 2]) at {(Subscript[a, 2]), (Subscript[b, 2]), (Subscript[c, 2])}
          …
          (Subscript[q, k]) at {(Subscript[a, k]), (Subscript[b, k]), (Subscript[c, k])},
then the flux (= flow) of the resulting electric field across C is simply
           4  π ((Subscript[q, 1]) +  (Subscript[q, 2]) +  (Subscript[q, 3]) +  …  +  (Subscript[q, k])).
Explain how Gauss's law is based on Gauss's formula.

L.18)

Given a surface in parametric form
       {x[u, v], y[u, v], z[u, v]},
the two vectors 
       tan1[u, v] = D[{x[u, v], y[u, v], z[u, v]}, u] 
              ={∂x[u, v]/∂u,∂y[u, v]/∂u,∂z[u, v]/∂u},
and
       tan2[u, v] = D[{x[u, v], y[u, v], z[u, v]}, v] 
              ={∂x[u, v]/∂v,∂y[u, v]/∂v,∂z[u, v]/∂v}
are both tangent to the surface when their tails are put at the point
        {x[u, v], y[u, v], z[u, v]}.
As a result, the cross product
       normal[u, v] = tan1[u, v]× tan2[u, v] 
is perpendicular to the surface when its tail is put at
the point {x[u, v], y[u, v], z[u, v]}.
What does the length of normal[u, v] measure?

L.19)

Given numbers a, b, and c, you can parameterize the plane  
       z = a x +  b y +  c 
by going with
       {x[u, v], y[u, v], z[u, v]} = {u, v, a u +  b v +  c}.
Calculate the area conversion factor (Subscript[SA, xyz]) [u, v] by hand, and use it to give a formula for the area of that part of the plane 
       z = a x +  b y +  c 
that sits directly above (or below) the disk 
       (x^2) +  (y^( 2)) ≤ (r^( 2)) 
in the xy-plane.