(* Content-type: application/mathematica *)
(*** Wolfram Notebook File ***)
(* http://www.wolfram.com/nb *)
(* CreatedBy='Mathematica 6.0' *)
(*CacheID: 234*)
(* Internal cache information:
NotebookFileLineBreakTest
NotebookFileLineBreakTest
NotebookDataPosition[ 145, 7]
NotebookDataLength[ 55549, 1655]
NotebookOptionsPosition[ 51050, 1524]
NotebookOutlinePosition[ 51779, 1549]
CellTagsIndexPosition[ 51736, 1546]
WindowFrame->Normal
ContainsDynamic->False*)
(* Beginning of Notebook Content *)
Notebook[{
Cell[TextData[{
StyleBox["Lab 03 - Tangent Planes",
FontSize->24,
FontWeight->"Bold",
FontVariations->{"Underline"->True}],
"\nMath 2374 - University of Minnesota\nhttp://www.math.umn.edu/math2374\n \
Questions to: rogness@math.umn.edu"
}], "Text",
CellFrame->True,
CellChangeTimes->{{3.411093328284238*^9, 3.411093330947098*^9}},
TextAlignment->Center,
FontColor->GrayLevel[1],
Background->RGBColor[0, 0, 1]],
Cell[CellGroupData[{
Cell[TextData[StyleBox["Introduction",
FontSize->16]], "Section"],
Cell[TextData[{
"In last week's lab, we investigated properties of continuity, \
differentiability, and partial derivatives. In this lab, all of the \
functions we consider will be differentiable, which as we learned means that \
we can approximate the function at any given point with a linear \
approximation, or \"tangent plane.\"\n\nThere's an important point here: \
earlier we talked about whether a function is differentiable at the point ",
Cell[BoxData[
FormBox[
RowBox[{
OverscriptBox["x", "\[RightVector]"], "=",
OverscriptBox["a", "\[RightVector]"]}], TraditionalForm]]],
"; if we say that a function is \"differentiable\" without any modifier, we \
mean that it is differentiable at ",
StyleBox["every",
FontSlant->"Italic"],
" point, or at least every point where it is defined. Go to the following \
web page:\n\nhttp://www.math.umn.edu/~rogness/multivar/tanplane.shtml\n\nThis \
demo shows you part of a paraboloid with a tangent plane at a certain point; \
you can click and drag the point to move it around, and LiveGraphics3D will \
automatically show you the tangent plane at the new point.\n\nThis is \
intended to reinforce the point that a \"differentiable\" function doesn't \
have one single tangent plane (or linear approximation, if you prefer that \
language). Rather, it has a different linear approximation at each point!\n\n\
Today we'll learn various methods of finding the equation of the tangent \
plane / linear approximation of a differentiable function. In some sense \
this is one of the most important things you can learn in this course, and \
all of the material for the first month of the class has led to this point. \
You'll even get a foreshadowing of things to come; in lecture, you've learned \
what the gradient is, but you haven't learned all of its properties. In this \
lab you'll see how you can use the gradient to find a tangent plane, which \
will be mentioned later in the book an in lecture."
}], "Text",
CellChangeTimes->{{3.411093629500535*^9, 3.4110936302344637`*^9}}]
}, Closed]],
Cell[CellGroupData[{
Cell[TextData[StyleBox["Plotting Planes",
FontSize->16]], "Section"],
Cell["\<\
Before we begin considering issues of tangency, let's review how to plot \
planes. It might help you to look in your textbook and review Cartesian and \
parametric equations for planes; you can also ask your TA for help.
The nicest situation is when we can describe the plane as a function of x and \
y; in that case, we can write the equation of the plane as ``z = ax + by + \
c'' where a, b, and c are real numbers. We can just use Plot3D in those \
cases; for instance, if we had z = 3x - y, we could just use\
\>", "Text"],
Cell[BoxData[
RowBox[{"Plot3D", "[",
RowBox[{
RowBox[{
RowBox[{"3", "x"}], " ", "-", " ", "y"}], ",", " ",
RowBox[{"{",
RowBox[{"x", ",",
RowBox[{"-", "2"}], ",", "2"}], "}"}], ",",
RowBox[{"{",
RowBox[{"y", ",",
RowBox[{"-", "2"}], ",", "2"}], "}"}], ",",
RowBox[{"AxesLabel", "\[Rule]",
RowBox[{"{",
RowBox[{"\"\\"", ",", "\"\\"", ",", "\"\\""}], "}"}]}]}],
"]"}]], "Input",
CellChangeTimes->{{3.411093665463735*^9, 3.41109367072123*^9}}],
Cell["\<\
to plot the plane, adjusting the range of x and y if necessary.
Even if we can describe a plane with a nice, easy equation, it is sometimes \
more convenient or enlightening to describe the plane with parametric \
equations. If we are given a point and two non-parallel vectors, there is a \
unique plane containing that point parallel to each of the vectors. Let's say \
our vectors are (2,3,5) and (-7,-11,13), and we wish to find the plane \
parallel to those two vectors passing through the point (17, 29, 0). In \
parametric equations, we could write\
\>", "Text"],
Cell[BoxData[
RowBox[{
RowBox[{"(",
RowBox[{"17", ",", "29", ",", "0"}], ")"}], " ", "+", " ",
RowBox[{"t", " ",
RowBox[{"(",
RowBox[{"2", ",", "3", ",", "5"}], ")"}]}], " ", "+", " ",
RowBox[{"s",
RowBox[{"(",
RowBox[{
RowBox[{"-", "7"}], ",",
RowBox[{"-", "11"}], ",", "13"}], ")"}]}]}]], "DisplayFormula"],
Cell["\<\
where s and t range over all real numbers. To plot this plane, we use the \
properties of scalar multiplication and vector addition, and use \
ParametricPlot3D:\
\>", "Text"],
Cell[BoxData[
RowBox[{"ParametricPlot3D", "[",
RowBox[{
RowBox[{"{",
RowBox[{
RowBox[{"17", "+",
RowBox[{"2", "*", "t"}], "-",
RowBox[{"7", "*", "s"}]}], ",", " ",
RowBox[{"29", "+",
RowBox[{"3", "*", "t"}], "-",
RowBox[{"11", "*", " ", "s"}]}], ",", " ",
RowBox[{
RowBox[{"5", "*", "t"}], "+",
RowBox[{"13", "*", "s"}]}]}], "}"}], ",", " ",
RowBox[{"{",
RowBox[{"t", ",",
RowBox[{"-", "1"}], ",", "1"}], "}"}], ",",
RowBox[{"{",
RowBox[{"s", ",",
RowBox[{"-", "1"}], ",", "1"}], "}"}], ",",
RowBox[{"AxesLabel", "\[Rule]",
RowBox[{"{",
RowBox[{"\"\\"", ",", "\"\\"", ",", "\"\\""}], "}"}]}]}],
"]"}]], "Input",
CellChangeTimes->{{3.4110937033057947`*^9, 3.411093703585046*^9}}],
Cell[TextData[{
"You can keep the parametric equation of the plane in ``un-multiplied out'' \
form and use ParametricPlot3D, although earlier versions of ",
StyleBox["Mathematica",
FontSlant->"Italic"],
" might complain a bit before showing you the graph. Either way works; \
mathematically they are exactly equivalent. The following form may be easier \
to write."
}], "Text"],
Cell[BoxData[
RowBox[{"ParametricPlot3D", "[",
RowBox[{
RowBox[{
RowBox[{"{",
RowBox[{"17", ",", " ", "29", ",", "0"}], "}"}], " ", "+", " ",
RowBox[{"t", "*",
RowBox[{"{",
RowBox[{"2", ",", "3", ",", "5"}], "}"}]}], "+",
RowBox[{"s", "*",
RowBox[{"{",
RowBox[{
RowBox[{"-", "7"}], ",",
RowBox[{"-", "11"}], ",", "13"}], "}"}]}]}], ",", " ",
RowBox[{"{",
RowBox[{"t", ",",
RowBox[{"-", "1"}], ",", "1"}], "}"}], ",",
RowBox[{"{",
RowBox[{"s", ",",
RowBox[{"-", "1"}], ",", "1"}], "}"}], ",",
RowBox[{"AxesLabel", "\[Rule]",
RowBox[{"{",
RowBox[{"\"\\"", ",", "\"\\"", ",", "\"\\""}], "}"}]}]}],
"]"}]], "Input",
CellChangeTimes->{{3.411093709298511*^9, 3.4110937098561563`*^9}}],
Cell[TextData[{
"One important thing to note is that we've only plotted a small portion of \
the plane. Above we chose values of t and s between -1 and 1, but we can \
choose any range we like. The ranges on s and t don't have to be the same. \
You don't have to use s and t if you don't like; ",
StyleBox["Mathematica",
FontSlant->"Italic"],
" will let you use pretty much any variable name you like. The world is your \
oyster.\n\nThere's one other point you should be aware of. In this class \
you've seen how difficult it can be sometimes to represent three-dimensional \
pictures on a two-dimensional computer screen or piece of paper. A picture \
of a plane can be particularly hard to decipher; it's sometimes difficult to \
tell which part is sloping uphill, which part is going downhill, or even \
whether a plane is horizontal or vertical. In the previous picture, for \
example, it's hard to decide how the plane is situated in space without \
rotating it around. How accurately did you interpret the two-dimensional \
picture before moving it around?"
}], "Text",
CellChangeTimes->{{3.4110937520367413`*^9, 3.411093784747168*^9}}],
Cell[CellGroupData[{
Cell["Example", "Subsection"],
Cell["Plot the plane that's described by", "Text"],
Cell[BoxData[
RowBox[{
RowBox[{"s",
RowBox[{"(",
RowBox[{"0", ",", "0", ",", "1"}], ")"}]}], " ", "+", " ",
RowBox[{"t",
RowBox[{"(",
RowBox[{"0.2", ",", " ", "0.2", ",", " ", "2"}],
")"}]}]}]], "DisplayFormula"],
Cell["\<\
when s and t range from 2 to 3. It won't look very good\[LongDash]it's ``too \
skinny''. Experiment with some different ranges on s and t until you get a \
nicer picture\[LongDash]one that's a little more ``square''.\
\>", "Text"],
Cell[TextData[{
StyleBox["Exercise 1 - A Thought Experiment",
FontSize->16,
FontWeight->"Bold"],
"\n\nAre there planes that are not the graph of a function of x and y? If \
so, which planes are they? If there are no such planes, explain why.\n\nAre \
there planes that ",
StyleBox["cannot",
FontSlant->"Italic"],
" be described by a parametrization? If so, which planes are they? If there \
are no such planes (i.e., any plane whatsoever can be described by a \
parametrization), explain why.\n\nExplain your reasoning!"
}], "Text",
CellFrame->True,
Background->RGBColor[1, 0.498039, 0.498039]]
}, Open ]]
}, Closed]],
Cell[CellGroupData[{
Cell[TextData[StyleBox["Tangent Planes Via Partial Derivatives",
FontSize->16]], "Section"],
Cell[TextData[{
"You've learned that, basically, a function is \"differentiable\" if it has \
a linear approximation; in the case of a function ",
Cell[BoxData[
FormBox[
RowBox[{"z", "=",
RowBox[{"f", "(",
RowBox[{"x", ",", "y"}], ")"}]}], TraditionalForm]]],
", this is the same as saying it has a tangent plane at each point. You've \
also seen the general (cartesian) equation ",
Cell[BoxData[
FormBox[
RowBox[{"z", "=",
RowBox[{"L", "(",
RowBox[{"x", ",", "y"}], ")"}]}], TraditionalForm]]],
" of a linear approximation/tangent plane for a function like this; it has \
lots of partial deriatives in it.\n\nIn this section we're going to learn how \
to use partial derivatives to find the ",
StyleBox["parametric",
FontSlant->"Italic"],
" equation of a tangent plane. Before you do anything else, open the \
following page in a web browser and read the material there:",
"\n\nhttp://www.math.umn.edu/~rogness/multivar/partialderivs.html\n\nOnce \
you've read the web page, you can continue on to the rest of the lab."
}], "Text"],
Cell[CellGroupData[{
Cell["\<\
Using Tangent Vectors to find Parametric Equations of Tangent Planes\
\>", "Subsection"],
Cell[TextData[{
"So now you've seen that tangent vectors of cross sections through a point \
are in the tangent plane at that point. But wait -- all we need to write \
down the parametric equation of a plane is a point on the plane and two \
vectors in the plane! So, in this situation, we've got all the information \
we need. Given two cross sections of a surface which intersect at a point ",
Cell[BoxData[
FormBox[
RowBox[{
OverscriptBox["x", "\[RightVector]"], "=",
OverscriptBox["a", "\[RightVector]"]}], TraditionalForm]]],
", the equation of the tangent plane is:"
}], "Text"],
Cell[BoxData[
FormBox[
RowBox[{
RowBox[{"p", "(",
RowBox[{"s", ",", "t"}], ")"}], "=",
RowBox[{
OverscriptBox["a", "\[RightVector]"], "+",
RowBox[{"s", "\[CenterDot]",
RowBox[{"(",
RowBox[{
RowBox[{"tan", ".", " ", "vector"}], " ", "of", " ", "first", " ",
"cross", " ", "section", " ", "at", " ", "the", " ", "point", " ",
OverscriptBox["a", "\[RightVector]"]}], ")"}]}], " ", "+", " ",
RowBox[{"t", "\[CenterDot]",
RowBox[{
RowBox[{"(",
RowBox[{
RowBox[{"tan", ".", " ", "vector"}], " ", "of", " ", "second", " ",
"cross", " ", "section", " ", "at", " ", "the", " ", "point", " ",
OverscriptBox["a", "\[RightVector]"]}], ")"}], "."}]}]}]}],
TraditionalForm]], "DisplayFormula",
TextAlignment->Center],
Cell["\<\
Let's do a real-life example now, by finding the plane tangent to the surface\
\
\>", "Text"],
Cell[BoxData[
RowBox[{"z", " ", "=", " ",
RowBox[{
SuperscriptBox["x", "2"], " ", "+", " ",
RowBox[{"3", "xy"}], " ", "+", " ",
SuperscriptBox["y", "2"]}]}]], "DisplayFormula",
TextAlignment->Center,
FontSize->14],
Cell[TextData[{
"at the point (1,-2,-1). First let's plot the surface; we'll use the ",
StyleBox["Mesh",
FontWeight->"Bold"],
" option to turn off the grid, and ",
StyleBox["Opacity",
FontWeight->"Bold"],
" to make it somewhat transparent, so that later on we can see our cross \
sections a little better."
}], "Text",
CellChangeTimes->{{3.411094093909964*^9, 3.4110941023800573`*^9}}],
Cell[BoxData[{
RowBox[{
RowBox[{"f", "[",
RowBox[{"x_", ",", "y_"}], "]"}], " ", "=", " ",
RowBox[{
RowBox[{"x", "^", "2"}], " ", "+", " ",
RowBox[{"3", " ", "x", "*", "y"}], " ", "+", " ",
RowBox[{"y", "^", "2"}]}]}], "\[IndentingNewLine]",
RowBox[{"surf", " ", "=", " ",
RowBox[{"Plot3D", "[",
RowBox[{
RowBox[{"f", "[",
RowBox[{"x", ",", "y"}], "]"}], ",", " ",
RowBox[{"{",
RowBox[{"x", ",", "0", ",", "2"}], "}"}], ",",
RowBox[{"{",
RowBox[{"y", ",",
RowBox[{"-", "3"}], ",",
RowBox[{"-", "1"}]}], "}"}], ",", " ",
RowBox[{"Mesh", "\[Rule]", "False"}], ",",
RowBox[{"AxesLabel", "\[Rule]",
RowBox[{"{",
RowBox[{"\"\\"", ",", "\"\\"", ",", "\"\\""}], "}"}]}], ",",
RowBox[{"PlotStyle", "\[Rule]",
RowBox[{"Opacity", "[", "0.5", "]"}]}]}], "]"}]}]}], "Input",
CellChangeTimes->{{3.4110941071911697`*^9, 3.4110941140394163`*^9}}],
Cell[TextData[{
"Now we need to find the partial derivatives of ",
StyleBox["f",
FontSlant->"Italic"],
" and evaluate them at the point ",
Cell[BoxData[
FormBox[
RowBox[{
RowBox[{"(",
RowBox[{"x", ",", "y"}], ")"}], "=",
RowBox[{"(",
RowBox[{"1", ",",
RowBox[{"-", "2"}]}], ")"}]}], TraditionalForm]]],
"."
}], "Text"],
Cell[BoxData[{
RowBox[{
RowBox[{"fx", "[",
RowBox[{"x_", ",", "y_"}], "]"}], "=",
RowBox[{"D", "[",
RowBox[{
RowBox[{"f", "[",
RowBox[{"x", ",", "y"}], "]"}], ",", "x"}],
"]"}]}], "\[IndentingNewLine]",
RowBox[{
RowBox[{
RowBox[{"fy", "[",
RowBox[{"x_", ",", "y_"}], "]"}], "=",
RowBox[{"D", "[",
RowBox[{
RowBox[{"f", "[",
RowBox[{"x", ",", "y"}], "]"}], ",", "y"}], "]"}]}],
"\[IndentingNewLine]"}], "\[IndentingNewLine]",
RowBox[{"fx", "[",
RowBox[{"1", ",",
RowBox[{"-", "2"}]}], "]"}], "\[IndentingNewLine]",
RowBox[{"fy", "[",
RowBox[{"1", ",",
RowBox[{"-", "2"}]}], "]"}]}], "Input"],
Cell[TextData[{
"As you learned in the external web page, the vectors\n\n\t\t\t\t ",
Cell[BoxData[
FormBox[
RowBox[{
RowBox[{"(",
RowBox[{"1", ",", "0", ",",
RowBox[{
SubscriptBox["f", "x"], "(",
RowBox[{"1", ",",
RowBox[{"-", "2"}]}], ")"}]}], ")"}], "=",
RowBox[{"(",
RowBox[{"1", ",", "0", ",",
RowBox[{"-", "4"}]}], ")"}]}], TraditionalForm]]],
"\n\t\t\t\t ",
Cell[BoxData[
FormBox[
RowBox[{
RowBox[{"(",
RowBox[{"0", ",", "1", ",",
RowBox[{
SubscriptBox["f", "y"], "(",
RowBox[{"1", ",",
RowBox[{"-", "2"}]}], ")"}]}], ")"}], "=",
RowBox[{"(",
RowBox[{"0", ",", "1", ",",
RowBox[{"-", "1"}]}], ")"}]}], TraditionalForm]]],
" \n\nare both parallel to the tangent plane at our point; The following \
cell draws those two vectors on the surface, starting at the point ",
Cell[BoxData[
FormBox[
RowBox[{
RowBox[{"(",
RowBox[{"1", ",",
RowBox[{"-", "2"}], ",",
RowBox[{"f", "(",
RowBox[{"1", ",",
RowBox[{"-", "2"}]}], ")"}]}], ")"}], "=",
RowBox[{
RowBox[{"(",
RowBox[{"1", ",",
RowBox[{"-", "2"}], ",",
RowBox[{"-", "1"}]}], ")"}], "."}]}], TraditionalForm]]],
" You needn't worry about the syntax of the first two commands; they tell \
",
StyleBox["Mathematica",
FontSlant->"Italic"],
" to draw two 3D line segments representing the vectors."
}], "Text",
CellChangeTimes->{{3.411093915885623*^9, 3.411093916859995*^9}, {
3.411094384558765*^9, 3.411094504367691*^9}}],
Cell[BoxData[{
RowBox[{
RowBox[{"tangentvectorx", "=",
RowBox[{"Graphics3D", "[",
RowBox[{"{",
RowBox[{"Thick", ",",
RowBox[{"Line", "[",
RowBox[{"{",
RowBox[{
RowBox[{"{",
RowBox[{"1", ",",
RowBox[{"-", "2"}], ",",
RowBox[{"-", "1"}]}], "}"}], ",",
RowBox[{
RowBox[{"{",
RowBox[{"1", ",",
RowBox[{"-", "2"}], ",",
RowBox[{"-", "1"}]}], "}"}], "+",
RowBox[{"{",
RowBox[{"1", ",", "0", ",",
RowBox[{"-", "4"}]}], "}"}]}]}], "}"}], "]"}]}], "}"}], "]"}]}],
";"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{"tangentvectory", "=",
RowBox[{"Graphics3D", "[",
RowBox[{"{",
RowBox[{"Thick", ",",
RowBox[{"Line", "[",
RowBox[{"{",
RowBox[{
RowBox[{"{",
RowBox[{"1", ",",
RowBox[{"-", "2"}], ",",
RowBox[{"-", "1"}]}], "}"}], ",",
RowBox[{
RowBox[{"{",
RowBox[{"1", ",",
RowBox[{"-", "2"}], ",",
RowBox[{"-", "1"}]}], "}"}], "+",
RowBox[{"{",
RowBox[{"0", ",", "1", ",",
RowBox[{"-", "1"}]}], "}"}]}]}], "}"}], "]"}]}], "}"}], "]"}]}],
";"}], "\[IndentingNewLine]",
RowBox[{"Show", "[",
RowBox[{"surf", ",", "tangentvectorx", ",", "tangentvectory"}],
"]"}]}], "Input",
CellChangeTimes->{
3.4110932988419867`*^9, {3.411094051766694*^9, 3.4110940720691767`*^9}, {
3.411094339526061*^9, 3.411094367735179*^9}}],
Cell["\<\
Rotate the picture and look at it from below to see the vectors. It \
certainly seems plausible that they're in a tangent plane for the surface!
Let's go ahead and define the parametric equation for our tangent plane, \
using the equation above.\
\>", "Text",
CellChangeTimes->{3.41109451711821*^9}],
Cell[BoxData[
RowBox[{
RowBox[{"p", "[",
RowBox[{"s_", ",", "t_"}], "]"}], " ", "=", " ",
RowBox[{
RowBox[{"{",
RowBox[{"1", ",",
RowBox[{"-", "2"}], ",",
RowBox[{"f", "[",
RowBox[{"1", ",",
RowBox[{"-", "2"}]}], "]"}]}], "}"}], "+",
RowBox[{"s", "*",
RowBox[{"{",
RowBox[{"1", ",", "0", ",",
RowBox[{"fx", "[",
RowBox[{"1", ",",
RowBox[{"-", "2"}]}], "]"}]}], "}"}]}], "+",
RowBox[{"t", "*",
RowBox[{"{",
RowBox[{"0", ",", "1", ",",
RowBox[{"fy", "[",
RowBox[{"1", ",",
RowBox[{"-", "2"}]}], "]"}]}], "}"}]}]}]}]], "Input"],
Cell["\<\
Now plot the plane and the surface together in a LiveGraphics3D pop-up \
window:\
\>", "Text"],
Cell[BoxData[{
RowBox[{
RowBox[{"surf", " ", "=", " ",
RowBox[{"Plot3D", "[",
RowBox[{
RowBox[{"f", "[",
RowBox[{"x", ",", "y"}], "]"}], ",", " ",
RowBox[{"{",
RowBox[{"x", ",", "0", ",", "2"}], "}"}], ",",
RowBox[{"{",
RowBox[{"y", ",",
RowBox[{"-", "3"}], ",",
RowBox[{"-", "1"}]}], "}"}], ",", " ",
RowBox[{"Mesh", "\[Rule]", "5"}], ",",
RowBox[{"AxesLabel", "\[Rule]",
RowBox[{"{",
RowBox[{"\"\\"", ",", "\"\\"", ",", "\"\\""}], "}"}]}],
",",
RowBox[{"PlotStyle", "\[Rule]", "Red"}], ",",
RowBox[{"PlotPoints", "\[Rule]", "50"}]}], "]"}]}],
";"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{"tanplane", " ", "=",
RowBox[{"ParametricPlot3D", "[",
RowBox[{
RowBox[{"p", "[",
RowBox[{"s", ",", "t"}], "]"}], ",", " ",
RowBox[{"{",
RowBox[{"s", ",",
RowBox[{"-", "1"}], ",", "1"}], "}"}], ",", " ",
RowBox[{"{",
RowBox[{"t", ",",
RowBox[{"-", "1"}], ",", "1"}], "}"}], ",",
RowBox[{"Mesh", "\[Rule]", "5"}], ",",
RowBox[{"PlotStyle", "\[Rule]", "Blue"}], ",",
RowBox[{"PlotPoints", "\[Rule]", "50"}]}], "]"}]}],
";"}], "\[IndentingNewLine]",
RowBox[{"Show", "[",
RowBox[{"surf", ",", " ", "tanplane"}],
"]"}], "\[IndentingNewLine]"}], "Input",
CellChangeTimes->{
3.411093300433773*^9, {3.4110941556841383`*^9, 3.411094305653688*^9}}],
Cell[TextData[{
"Rotate the picture and see if you can convince yourself that this plane \
really is tangent to the surface. (We've talked about how appearances can be \
deceiving, but in this case your eyes aren't lying to you.) Note how the \
plane is above the surface at some points and below it at others; that's \
perfectly fine. It's analogous to the line tangent to the curve y = ",
Cell[BoxData[
FormBox[
RowBox[{"sin", " ", "x"}], TraditionalForm]]],
" at x = 0, which goes above and beneath the curve:"
}], "Text"],
Cell[BoxData[
RowBox[{"Plot", "[",
RowBox[{
RowBox[{"{",
RowBox[{
RowBox[{"Sin", "[", "x", "]"}], ",", "x"}], "}"}], ",",
RowBox[{"{",
RowBox[{"x", ",",
RowBox[{
RowBox[{"-", "Pi"}], "/", "2"}], ",",
RowBox[{"Pi", "/", "2"}]}], "}"}], ",",
RowBox[{"AspectRatio", "\[Rule]", "Automatic"}]}], "]"}]], "Input"]
}, Open ]],
Cell[CellGroupData[{
Cell["\<\
Using Tangent Vectors to find Cartesian Equations of Tangent Planes\
\>", "Subsection"],
Cell["\<\
Sometimes we need to find a Cartesian equation for a tangent plane. Recall \
that the Cartesian equation of a plane looks like\
\>", "Text"],
Cell[BoxData[
RowBox[{
RowBox[{
RowBox[{"A",
RowBox[{"(",
RowBox[{"x", "-",
SubscriptBox["x", "0"]}], ")"}]}], "+",
RowBox[{"B",
RowBox[{"(",
RowBox[{"y", "-",
SubscriptBox["y", "0"]}], ")"}]}], "+",
RowBox[{"C",
RowBox[{"(",
RowBox[{"z", "-",
SubscriptBox["z", "0"]}], ")"}]}]}], "=", "0"}]], "DisplayFormula",
TextAlignment->Center,
FontSize->14],
Cell[TextData[{
"where ",
Cell[BoxData[
FormBox[
RowBox[{"(",
RowBox[{
SubscriptBox["x", "0"], ",",
SubscriptBox["y", "0"], ",",
SubscriptBox["z", "0"]}], ")"}], TraditionalForm]]],
" is a point on the plane, and the vector ",
Cell[BoxData[
FormBox[
RowBox[{"(",
RowBox[{"A", ",", "B", ",", "C"}], ")"}], TraditionalForm]]],
" is normal (i.e. perpendicular) to the plane. Now think back to what we've \
been doing so far: given a surface, we choose a point; then we find two \
curves through that point; then we find the tangent vectors at that point.\n\n\
So we've got a point, and now we need a normal vector. Why not just use the \
cross product of the two tangent vectors? They're both in the tangent plane, \
so their cross product is perpendicular to the plane.\n\nHere's the \
parametric equation of the tangent plane we just found, which touches the \
surface at ",
Cell[BoxData[
FormBox[
RowBox[{"(",
RowBox[{"1", ",",
RowBox[{"-", "2"}], ",",
RowBox[{"-", "1"}]}], ")"}], TraditionalForm]]],
". "
}], "Text"],
Cell[BoxData[
RowBox[{
RowBox[{"p", "[",
RowBox[{"s_", ",", "t_"}], "]"}], " ", "=", " ",
RowBox[{
RowBox[{"{",
RowBox[{"1", ",",
RowBox[{"-", "2"}], ",",
RowBox[{"f", "[",
RowBox[{"1", ",",
RowBox[{"-", "2"}]}], "]"}]}], "}"}], "+",
RowBox[{"s", "*",
RowBox[{"{",
RowBox[{"1", ",", "0", ",",
RowBox[{"fx", "[",
RowBox[{"1", ",",
RowBox[{"-", "2"}]}], "]"}]}], "}"}]}], "+",
RowBox[{"t", "*",
RowBox[{"{",
RowBox[{"0", ",", "1", ",",
RowBox[{"fy", "[",
RowBox[{"1", ",",
RowBox[{"-", "2"}]}], "]"}]}], "}"}]}]}]}]], "Input"],
Cell[TextData[{
"The two tangent vectors are ",
Cell[BoxData[
FormBox[
RowBox[{"(",
RowBox[{"1", ",", "0", ",",
RowBox[{"-", "4"}]}], ")"}], TraditionalForm]]],
" and ",
Cell[BoxData[
FormBox[
RowBox[{"(",
RowBox[{"0", ",", "1", ",",
RowBox[{"-", "1"}]}], ")"}], TraditionalForm]]],
", so our normal vector is their cross product. ",
StyleBox["Mathematica",
FontSlant->"Italic"],
" can compute cross products with a command named, not surprisingly, ",
StyleBox["Cross",
FontWeight->"Bold"],
":"
}], "Text"],
Cell[BoxData[
RowBox[{"Cross", "[",
RowBox[{
RowBox[{"{",
RowBox[{"1", ",", "0", ",",
RowBox[{"-", "4"}]}], "}"}], ",",
RowBox[{"{",
RowBox[{"0", ",", "1", ",",
RowBox[{"-", "1"}]}], "}"}]}], "]"}]], "Input"],
Cell["Therefore our Cartesian equation for this same plane is", "Text"],
Cell[BoxData[{
RowBox[{
RowBox[{
RowBox[{
RowBox[{"4",
RowBox[{"(",
RowBox[{"x", "-", "1"}], ")"}]}], "+",
RowBox[{"1",
RowBox[{"(",
RowBox[{"y", "+", "2"}], ")"}]}], "+",
RowBox[{"1",
RowBox[{"(",
RowBox[{"z", "+", "1"}], ")"}]}]}], "=", "0"}],
"\[IndentingNewLine]"}], "\[IndentingNewLine]",
RowBox[{"z", "=",
RowBox[{
RowBox[{
RowBox[{"-", "4"}], "x"}], "-", "y", "+", "1"}]}]}], "DisplayFormula",
TextAlignment->Center],
Cell[TextData[{
"Let's plot this using ",
StyleBox["Plot3D",
FontWeight->"Bold"],
" and show it with the original surface:"
}], "Text"],
Cell[BoxData[{
RowBox[{
RowBox[{"surf", " ", "=", " ",
RowBox[{"Plot3D", "[",
RowBox[{
RowBox[{"f", "[",
RowBox[{"x", ",", "y"}], "]"}], ",", " ",
RowBox[{"{",
RowBox[{"x", ",", "0", ",", "2"}], "}"}], ",",
RowBox[{"{",
RowBox[{"y", ",",
RowBox[{"-", "3"}], ",",
RowBox[{"-", "1"}]}], "}"}], ",", " ",
RowBox[{"Mesh", "\[Rule]", "5"}], ",",
RowBox[{"AxesLabel", "\[Rule]",
RowBox[{"{",
RowBox[{"\"\\"", ",", "\"\\"", ",", "\"\\""}], "}"}]}],
",",
RowBox[{"PlotStyle", "\[Rule]", "Red"}], ",",
RowBox[{"PlotPoints", "\[Rule]", "50"}]}], "]"}]}], ";",
RowBox[{"tanplane2", "=",
RowBox[{"Plot3D", "[",
RowBox[{
RowBox[{
RowBox[{
RowBox[{"-", "4"}], "x"}], "-", "y", "+", "1"}], ",",
RowBox[{"{",
RowBox[{"x", ",", "0", ",", "2"}], "}"}], ",",
RowBox[{"{",
RowBox[{"y", ",",
RowBox[{"-", "1"}], ",",
RowBox[{"-", "3"}]}], "}"}], ",",
RowBox[{"Mesh", "\[Rule]", "5"}]}], "]"}]}],
";"}], "\[IndentingNewLine]",
RowBox[{"Show", "[",
RowBox[{"surf", ",", "tanplane2"}], "]"}]}], "Input",
CellChangeTimes->{
3.4110933094282207`*^9, {3.41109456065294*^9, 3.411094588226153*^9}}],
Cell["\<\
Are you convinced that this is the same tangent plane? It certainly looks \
that way, and in fact it is!\
\>", "Text"],
Cell[TextData[{
StyleBox["Exercise 2",
FontSize->16,
FontWeight->"Bold"],
"\n\nIn this exercise you're going to find the linear approximation (or \
tangent plane, if you prefer) of the function ",
Cell[BoxData[
FormBox[
RowBox[{
RowBox[{"g", "(",
RowBox[{"x", ",", "y"}], ")"}], "=",
RowBox[{
SuperscriptBox["x", "2"], "-",
SuperscriptBox["y", "2"]}]}], TraditionalForm]]],
"at the point ",
Cell[BoxData[
FormBox[
RowBox[{
RowBox[{"(",
RowBox[{"x", ",", "y"}], ")"}], "=",
RowBox[{"(",
RowBox[{"1", ",", "2"}], ")"}]}], TraditionalForm]]],
". Your work should include the following steps:\n\n(a) Describe the cross \
sections of the surface defined by ",
Cell[BoxData[
FormBox[
RowBox[{"x", "=", "1"}], TraditionalForm]]],
" and ",
Cell[BoxData[
FormBox[
RowBox[{"y", "=", "2"}], TraditionalForm]]],
". \n\n(b) Find the partial derivatives of ",
StyleBox["g",
FontSlant->"Italic"],
" at the appropriate point; using these values, find two vectors tangent to \
the surface there.",
"\n\n(c) Give simplified parametric and cartesian equations for the tangent \
plane.\n\nYour writeup should include a good picture of both the surface and \
the tangent plane. You should put some thought into the ranges of the x- and \
y-values in your picture; if you're too close, you won't be able to tell the \
difference between the plane and the surface, but if you're too far away, the \
resulting picture may not be very useful. In particular, if your picture \
clearly shows that your plane is ",
StyleBox["not",
FontSlant->"Italic"],
" tangent, or if it's impossible to tell, you will most likely lose points.\n\
\n",
StyleBox["Exercise 3",
FontSize->16,
FontWeight->"Bold"],
"\n\nIn this exercise you're going to find the linear approximation (or \
tangent plane, if you prefer) of the function ",
Cell[BoxData[
FormBox[
RowBox[{
RowBox[{"g", "(",
RowBox[{"x", ",", "y"}], ")"}], "=",
RowBox[{
RowBox[{"sin", "(", "x", ")"}],
RowBox[{"cos", "(", "y", ")"}]}]}], TraditionalForm]]],
"at the point ",
Cell[BoxData[
FormBox[
RowBox[{
RowBox[{"(",
RowBox[{"x", ",", "y"}], ")"}], "=",
RowBox[{"(",
RowBox[{
RowBox[{"\[Pi]", "/", "4"}], ",",
RowBox[{
RowBox[{"-", "\[Pi]"}], "/", "4"}]}], ")"}]}], TraditionalForm]]],
". Your work should include the following steps:\n\n(a) Describe the cross \
sections of the surface defined by ",
Cell[BoxData[
FormBox[
RowBox[{"x", "=",
RowBox[{"\[Pi]", "/", "4"}]}], TraditionalForm]]],
" and ",
Cell[BoxData[
FormBox[
RowBox[{"y", "=",
RowBox[{
RowBox[{"-", "\[Pi]"}], "/", "4"}]}], TraditionalForm]]],
". \n\n(b) Find the partial derivatives of ",
StyleBox["g",
FontSlant->"Italic"],
" at the appropriate point; using these values, find two vectors tangent to \
the surface there.",
"\n\n(c) Give simplified parametric and cartesian equations for the tangent \
plane.\n\nYour writeup should include a good picture of both the surface and \
the tangent plane. You should put some thought into the ranges of the x- and \
y-values in your picture; if you're too close, you won't be able to tell the \
difference between the plane and the surface, but if you're too far away, the \
resulting picture may not be very useful. In particular, if your picture \
clearly shows that your plane is ",
StyleBox["not",
FontSlant->"Italic"],
" tangent, or if it's impossible to tell, you will most likely lose points.\n\
"
}], "Text",
CellFrame->True,
Background->RGBColor[1, 0.498039, 0.498039]]
}, Open ]]
}, Closed]],
Cell[CellGroupData[{
Cell[TextData[StyleBox["Tangent Planes Via Gradients",
FontSize->16]], "Section"],
Cell["\<\
Another way to find the tangent plane to a surface is to use the gradient \
vector. Recall that the gradient vector of a function f(x,y) is defined to be\
\
\>", "Text"],
Cell[BoxData[
RowBox[{
RowBox[{
RowBox[{
OverscriptBox["\[Del]", "\[RightVector]"], "f"}],
RowBox[{"(",
RowBox[{"x", ",", "y"}], ")"}]}], "=",
RowBox[{
RowBox[{"(",
RowBox[{
FractionBox[
RowBox[{"\[PartialD]", "f"}],
RowBox[{"\[PartialD]", "x"}]], ",", " ",
FractionBox[
RowBox[{"\[PartialD]", "f"}],
RowBox[{"\[PartialD]", "y"}]]}], ")"}], "."}]}]], "DisplayFormula",
TextAlignment->Center],
Cell[TextData[{
"Hmmm. This is a two-dimensional vector, and to define a plane in 3-space, \
we'll definitely need vectors with three components. We get around this by \
doing some minor rearranging. Our surface is defined by ",
Cell[BoxData[
FormBox[
RowBox[{"z", "=",
RowBox[{"f", "(",
RowBox[{"x", ",", "y"}], ")"}]}], TraditionalForm]]],
". We could move everything over to the same side and say that our surface \
is defined by the equation"
}], "Text"],
Cell[BoxData[
FormBox[
RowBox[{
RowBox[{"z", "-",
RowBox[{"f", "(",
RowBox[{"x", ",", "y"}], ")"}]}], "=", "0"}],
TraditionalForm]], "DisplayFormula",
TextAlignment->Center,
FontSize->14],
Cell[TextData[{
"You might be thinking that this is an odd step; if anything, it's a more \
complicated way to write it. That's true, and it's going to get a little \
worse. Rather than saying our surface is defined by this equation, let's \
defined a ",
StyleBox["new",
FontSlant->"Italic"],
" function:"
}], "Text"],
Cell[BoxData[
RowBox[{
RowBox[{"g",
RowBox[{"(",
RowBox[{"x", ",", "y", ",", "z"}], ")"}]}], " ", "=", " ",
RowBox[{"z", " ", "-", " ",
RowBox[{"f",
RowBox[{"(",
RowBox[{"x", ",", "y"}], ")"}]}]}]}]], "DisplayFormula",
TextAlignment->Center],
Cell[TextData[{
"And now we say that our function is the ",
StyleBox["level set",
FontSlant->"Italic"],
" defined by ",
Cell[BoxData[
FormBox[
RowBox[{
RowBox[{"g", "(",
RowBox[{"x", ",", "y", ",", "z"}], ")"}], "=", "0"}],
TraditionalForm]]],
". So now instead of the nice, simple statement ",
Cell[BoxData[
FormBox[
RowBox[{"z", "=",
RowBox[{"f", "(",
RowBox[{"x", ",", "y"}], ")"}]}], TraditionalForm]]],
", we're suddenly talking about level sets. Yikes! There's a reason for \
this, however...\n\nNotice that ",
Cell[BoxData[
FormBox[
RowBox[{"g", "(",
RowBox[{"x", ",", "y", ",", "z"}], ")"}], TraditionalForm]]],
" is a function of three variables, and its gradient ",
Cell[BoxData[
FormBox["is", TraditionalForm]]]
}], "Text"],
Cell[BoxData[
RowBox[{
RowBox[{
RowBox[{
OverscriptBox["\[Del]", "\[RightVector]"], "g"}],
RowBox[{"(",
RowBox[{"x", ",", "y", ",", "z"}], ")"}]}], "=",
RowBox[{
RowBox[{"(",
RowBox[{
RowBox[{"-",
FractionBox[
RowBox[{"\[PartialD]", "f"}],
RowBox[{"\[PartialD]", "x"}]]}], ",", " ",
RowBox[{"-",
FractionBox[
RowBox[{"\[PartialD]", "f"}],
RowBox[{"\[PartialD]", "y"}]]}], ",", " ", "1"}], ")"}],
"."}]}]], "DisplayFormula",
TextAlignment->Center],
Cell[TextData[{
"Now recall from lecture that ",
StyleBox["the gradient of a function g is perpendicular to the level sets of \
g",
FontSlant->"Italic"],
". (",
StyleBox["If you haven't seen this in lecture yet, you will soon. Just take \
it for granted here; it might be a good idea to ask your TA to draw a picture \
of what this means",
FontWeight->"Bold",
FontSlant->"Italic"],
".) ",
"In other words:\n\n-- We can start with a point (x,y,z) which is on the \
level set ",
Cell[BoxData[
FormBox[
RowBox[{
RowBox[{"g", "(",
RowBox[{"x", ",", "y", ",", "z"}], ")"}], "=", "0"}],
TraditionalForm]]],
".\n-- Because of the way we defined ",
Cell[BoxData[
FormBox[
RowBox[{"g", "(",
RowBox[{"x", ",", "y", ",", "z"}], ")"}], TraditionalForm]]],
", this is the same as saying the point is on the surface ",
Cell[BoxData[
FormBox[
RowBox[{"z", "=",
RowBox[{"f", "(",
RowBox[{"x", ",", "y"}], ")"}]}], TraditionalForm]]],
".\n-- Furthermore, ",
Cell[BoxData[
RowBox[{
RowBox[{
OverscriptBox["\[Del]", "\[RightVector]"], "g"}],
RowBox[{"(",
RowBox[{"x", ",", "y", ",", "z"}], ")"}]}]],
TextAlignment->Center],
"will be perpendicular (or normal) to our surface at that point.\n-- In \
particular, we can use ",
Cell[BoxData[
RowBox[{
RowBox[{
OverscriptBox["\[Del]", "\[RightVector]"], "g"}],
RowBox[{"(",
RowBox[{"x", ",", "y", ",", "z"}], ")"}]}]],
TextAlignment->Center],
"as a normal vector to define the equation for our tangent plane!\n\nLet's \
use this method quickly to find the same tangent plane we've been working \
with this whole time. Remember that the function is given by:"
}], "Text"],
Cell[CellGroupData[{
Cell[BoxData[
RowBox[{
RowBox[{"f", "[",
RowBox[{"x_", ",", "y_"}], "]"}], " ", "=", " ",
RowBox[{
RowBox[{"x", "^", "2"}], " ", "+", " ",
RowBox[{"3", " ", "x", "*", "y"}], " ", "+", " ",
RowBox[{"y", "^", "2"}]}]}]], "Input"],
Cell[BoxData[
RowBox[{
SuperscriptBox["x", "2"], "+",
RowBox[{"3", " ", "x", " ", "y"}], "+",
SuperscriptBox["y", "2"]}]], "Output",
CellChangeTimes->{3.411778652808269*^9}]
}, Open ]],
Cell["So we can do our magic \"new\" function like this:", "Text"],
Cell[CellGroupData[{
Cell[BoxData[
RowBox[{
RowBox[{"g", "[",
RowBox[{"x_", ",", "y_", ",", "z_"}], "]"}], "=",
RowBox[{"z", "-",
RowBox[{"f", "[",
RowBox[{"x", ",", "y"}], "]"}]}]}]], "Input"],
Cell[BoxData[
RowBox[{
RowBox[{"-",
SuperscriptBox["x", "2"]}], "-",
RowBox[{"3", " ", "x", " ", "y"}], "-",
SuperscriptBox["y", "2"], "+", "z"}]], "Output",
CellChangeTimes->{3.411778653826305*^9}]
}, Open ]],
Cell[TextData[{
"We're interested in the gradient at the point ",
Cell[BoxData[
FormBox[
RowBox[{"(",
RowBox[{"1", ",",
RowBox[{"-", "2"}], ",",
RowBox[{"-", "1"}]}], ")"}], TraditionalForm]]],
". ",
StyleBox["Note the new command, Grad[]",
FontWeight->"Bold"],
", ",
StyleBox["which computes the gradient:",
FontWeight->"Bold"]
}], "Text",
CellChangeTimes->{{3.4117776198834267`*^9, 3.41177766114878*^9}, {
3.411778660440173*^9, 3.4117786782456083`*^9}}],
Cell[CellGroupData[{
Cell[BoxData[{
RowBox[{
RowBox[{"gradg", "[",
RowBox[{"x_", ",", "y_", ",", "z_"}], "]"}], "=",
RowBox[{"Grad", "[",
RowBox[{"g", "[",
RowBox[{"x", ",", "y", ",", "z"}], "]"}],
"]"}]}], "\[IndentingNewLine]",
RowBox[{"gradg", "[",
RowBox[{"1", ",",
RowBox[{"-", "2"}], ",",
RowBox[{"-", "1"}]}], "]"}]}], "Input",
CellChangeTimes->{{3.411094636307225*^9, 3.411094698657606*^9}, {
3.4110947820840893`*^9, 3.411094785058857*^9}, {3.411094828581729*^9,
3.4110948390716543`*^9}, 3.411777212033712*^9, {3.4117786496574173`*^9,
3.4117786502702503`*^9}}],
Cell[BoxData[
RowBox[{"{",
RowBox[{
RowBox[{
RowBox[{
RowBox[{"-", "2"}], " ", "x"}], "-",
RowBox[{"3", " ", "y"}]}], ",",
RowBox[{
RowBox[{
RowBox[{"-", "3"}], " ", "x"}], "-",
RowBox[{"2", " ", "y"}]}], ",", "1"}], "}"}]], "Output",
CellChangeTimes->{3.41177865687007*^9}],
Cell[BoxData[
RowBox[{"{",
RowBox[{"4", ",", "1", ",", "1"}], "}"}]], "Output",
CellChangeTimes->{3.411778656871717*^9}]
}, Open ]],
Cell["Thus the Cartesian equation of the tangent plane is:", "Text"],
Cell[BoxData[{
RowBox[{
RowBox[{
RowBox[{
RowBox[{"4",
RowBox[{"(",
RowBox[{"x", "-", "1"}], ")"}]}], "+",
RowBox[{"(",
RowBox[{"y", "+", "2"}], ")"}], "+",
RowBox[{"(",
RowBox[{"z", "+", "1"}], ")"}]}], "=", "0"}],
"\[IndentingNewLine]"}], "\[IndentingNewLine]",
RowBox[{"z", "=",
RowBox[{
RowBox[{
RowBox[{"-", "4"}], "x"}], "-", "y", "+", "1"}]}]}], "DisplayFormula",
TextAlignment->Center],
Cell["\<\
Which is exactly what we found before. Good!
Although the \"gradient method\" of finding a tangent plane might seem more \
complicated -- particularly if you don't like level sets -- it's very, very \
useful. We didn't have to find any cross sections, find tangent vectors, and \
so on. We just rewrote the original equation, computed one gradient, and we \
were basically done!\
\>", "Text"],
Cell[TextData[{
StyleBox["Exercise 4",
FontSize->16,
FontWeight->"Bold"],
"\n\nUse the gradient method to find the cartesian equation of the plane \
tangent to\n\n",
Cell[BoxData[
FormBox[
RowBox[{
RowBox[{"f", "(",
RowBox[{"x", ",", "y"}], ")"}], "=",
RowBox[{
RowBox[{"Exp", "(",
RowBox[{
RowBox[{"-",
SuperscriptBox["x", "2"]}], "-",
SuperscriptBox["y", "2"]}], ")"}], "*", "x"}]}], TraditionalForm]]],
"\n\nat the point ",
Cell[BoxData[
FormBox[
RowBox[{
RowBox[{"(",
RowBox[{"0", ",", "0", ",",
RowBox[{"f", "(",
RowBox[{"0", ",", "0"}], ")"}]}], ")"}], "."}], TraditionalForm]]],
" Show the graph of f(x,y) and this tangent plane together on the same \
plot. Be sure to show your work and explain your reasoning.\n\n",
StyleBox["Exercise 5",
FontSize->16,
FontWeight->"Bold"],
"\n\nUse the gradient method to find the cartesian equation of the plane \
tangent to\n\n",
Cell[BoxData[
FormBox[
RowBox[{
RowBox[{"f", "(",
RowBox[{"x", ",", "y"}], ")"}], "=",
RowBox[{"y", "*",
RowBox[{"Cos", "(", "x", ")"}]}]}], TraditionalForm]]],
"\n\nat the point ",
Cell[BoxData[
FormBox[
RowBox[{
RowBox[{"(",
RowBox[{"0", ",",
RowBox[{"\[Pi]", "/", "4"}], ",",
RowBox[{"f", "(",
RowBox[{"0", ",",
RowBox[{"\[Pi]", "/", "4"}]}], ")"}]}], ")"}], "."}],
TraditionalForm]]],
" Show the graph of f(x,y) and this tangent plane together on the same \
plot; use the ranges -\[Pi] to \[Pi] for both x and y. Be sure to show your \
work and explain your reasoning. In particular, with the suggested ranges \
the \"true\" tangent plane looks like it sticks through part of the surface. \
You may want to explain why that's the case."
}], "Text",
CellFrame->True,
Background->RGBColor[1, 0.498039, 0.498039]]
}, Closed]],
Cell[CellGroupData[{
Cell[TextData[StyleBox["Tangent Plane Conspiracy Theory",
FontSize->16]], "Section"],
Cell["\<\
You are not responsible for the material in this section, but we've included \
it for those people who are interested in the mathematics behind all of this; \
it turns out that all of the different methods of finding tangent planes \
aren't really all that different!\
\>", "Text",
CellFrame->True,
Background->GrayLevel[0.833326]],
Cell[TextData[{
"In this section, we'll learn that, despite all appearances to the contrary, \
the ``tangent vectors'' and ``gradient vector'' methods are surreptitiously \
working together and are engaged in a ",
StyleBox["secret government conspiracy!",
FontSlant->"Italic"],
"\n\nOkay, there's no government conspiracy (well...none that ",
StyleBox["I'm",
FontSlant->"Italic"],
" aware of), but it is true that the two methods are working together\
\[LongDash]in fact, they are just different ways of looking at the same \
thing. Let's talk about directional derivatives for a bit before explaining \
why they're the same.\n\nAbove we were talking about partial derivatives and \
directions, which should remind you of directional derivatives. In the \
Tangent Vectors section, when specifying ``the planes y = 2x - 4 and y = -x - \
1'', we were really talking about direction vectors. In the above cases, the \
corresponding direction vectors would be"
}], "Text"],
Cell[BoxData[
RowBox[{
RowBox[{
FractionBox["1",
SqrtBox["5"]],
RowBox[{"(",
RowBox[{"1", ",", "2"}], ")"}], " ", "and", " ",
FractionBox["1",
SqrtBox["2"]],
RowBox[{"(",
RowBox[{"1", ",",
RowBox[{"-", "1"}]}], ")"}]}], ","}]], "DisplayFormula",
TextAlignment->Center],
Cell[TextData[{
"respectively. We are basically using the slope of a line: y = 2x - 4 is a \
line (in two dimensions) with slope 2. The vector (1,2) is parallel to that \
line, and above we just normalized it. The other direction vector was \
obtained in a similar way. Once we know direction vectors, we just need to \
take the dot product with the gradient vector to find the directional \
derivative. The conspiracy is already unravelling.\n\nFor the function f(x,y) \
= ",
Cell[BoxData[
FormBox[
RowBox[{
SuperscriptBox["x", "2"], " ", "+", " ",
RowBox[{"3", "xy"}], "+", " ",
SuperscriptBox["y", "2"]}], TraditionalForm]]],
" at the point (1,-2), and the first direction vector\[LongDash]call it u\
\[LongDash]we have"
}], "Text"],
Cell[BoxData[
RowBox[{
SubscriptBox["Df", "u"], "=", " ",
RowBox[{
RowBox[{
RowBox[{"(",
RowBox[{
FractionBox[
RowBox[{"\[PartialD]", "f"}],
RowBox[{"\[PartialD]", "x"}]], ",", " ",
FractionBox[
RowBox[{"\[PartialD]", "f"}],
RowBox[{"\[PartialD]", "y"}]]}], ")"}], "\[CenterDot]",
RowBox[{"(",
RowBox[{
FractionBox["1",
SqrtBox["5"]], ",",
FractionBox["2",
SqrtBox["5"]]}], ")"}]}], " ", "=", " ",
RowBox[{
RowBox[{
RowBox[{"(",
RowBox[{
RowBox[{"-", "4"}], ",", " ",
RowBox[{"-", "1"}]}], ")"}], "\[CenterDot]",
RowBox[{"(",
RowBox[{
FractionBox["1",
SqrtBox["5"]], ",",
FractionBox["2",
SqrtBox["5"]]}], ")"}]}], " ", "=", " ",
RowBox[{"-",
FractionBox["6",
SqrtBox["5"]]}]}]}]}]], "DisplayFormula",
TextAlignment->Center],
Cell[TextData[{
"We interpret this by saying ``in the direction of u, f is increasing at a \
rate of ",
Cell[BoxData[
FormBox[
RowBox[{
RowBox[{"-", "6"}], "/",
SqrtBox["5"]}], TraditionalForm]]],
".'' The upshot of this is that (",
Cell[BoxData[
FormBox[
RowBox[{"1", "/",
SqrtBox["5"]}], TraditionalForm]]],
", ",
Cell[BoxData[
FormBox[
RowBox[{"2", "/",
SqrtBox["5"]}], TraditionalForm]]],
", ",
Cell[BoxData[
FormBox[
RowBox[{
RowBox[{"-", "6"}], "/",
SqrtBox["5"]}], TraditionalForm]]],
") is a tangent vector to f(x,y), and it's parallel to \
(1,2,-6)\[LongDash]the tangent vector we found by using the path we described \
in the first section. We get this vector by taking the direction vector\
\[LongDash]a two-dimensional vector\[LongDash]and adding a third component, \
which is given by the directional derivative of f(x,y). In general, this \
means that"
}], "Text"],
Cell[BoxData[
RowBox[{"(",
RowBox[{"u1", ",", " ", "u2", ",", " ",
RowBox[{
SubscriptBox["D", "u"], "f"}]}], ")"}]], "DisplayFormula"],
Cell[TextData[{
"is a vector tangent to the surface z = f(x,y). You should do this same \
process with the other direction vector above and make sure that you end up \
with a tangent vector parallel to (1,-1,-3).\n\nOf course, there's nothing \
special about those two directional vectors above. We can use ",
StyleBox["any",
FontSlant->"Italic"],
" two non-parallel direction vectors and we'll get the same \
plane\[LongDash]which is exactly what you would hope for, since a function \
can have only one tangent plane (or no tangent plane, if the function isn't \
differentiable). The following exercise will help you expose the conspiracy\
\[LongDash]er, show that the tangent planes from the ``tangent vectors \
method'' and from the ``gradient vectors method'' are in fact the same. We'll \
do that by comparing the normal vectors of the resulting planes."
}], "Text"],
Cell[TextData[{
StyleBox["Exercise ",
FontSize->16,
FontWeight->"Bold"],
"\n\n(Notice that this isn't in a red box; you don't have to hand this \
exercise in. You might find it interesting, however.)\n\nAs discussed in the \
Gradient Vector section, the gradient of z - f(x,y) represents a normal \
vector to the tangent plane, so our main objective is to find the normal \
vector of the plane we get from the tangent vector method. We'll use an \
arbitrary differentiable function f(x,y) and two non-parallel direction \
vectors u = (u1, u2) and v = (v1, v2).\n\n\t(i) Find the vectors tangent to \
f(x,y) in the directions of u and v. Describe them in terms of u1, u2, v1, \
v2, and the partials of f (\[PartialD]f / \[PartialD]x and \[PartialD]f / \
\[PartialD]y).\n\n\t(ii) Find the normal vector of the plane spanned by those \
two vectors.\n\t\n\t(iii) Show that the normal vector you found in (ii) is \
parallel to the gradient vector of the function g(x,y,z) = z - f(x,y).\n\t\n\t\
(iii) What does this imply about the tangent planes found using the two \
different methods?\n "
}], "Text",
CellFrame->True,
Background->GrayLevel[0.833326]],
Cell[CellGroupData[{
Cell["Credits", "Subsubsection"],
Cell[TextData[{
"This lab is a descendent of an earlier lab on Tangent Planes written by \
Cindy Kaus. Dan Drake did a major rewrite in 2002, and then I overhauled it \
again in February 2004. We changed the focus a little bit, and added a few \
things here and there; having taught this lab for a few years now, we've \
learned what the sticking points are for students, so I've tried to add extra \
explanations in these parts. I also changed the exercises, except for #1, \
which Dan wrote, and the pseudo-exercise in the \"Conspiracy Theory\" \
section, which is also Dan's. I changed the rest of them so we'd have a \
little variety; the previous exercises have been used for the last 4 years or \
so.\n\nIt's a little difficult to completely describe who did what, but \
here's an attempt:\n\n-- I don't believe any of the writing is Cindy's; the \
only thing remaining is her choice of the surface and the point where we find \
the tangent planes.\n\n-- The \"Plotting Planes\" and \"Tangent Plane \
Conspiracy Theory\" sections are all Dan's; at most I changed a few words \
here or there, or added a ",
StyleBox["Live",
FontWeight->"Bold"],
" command.\n\n-- The other sections are fairly major rewrites of Dan's \
original sections. A lot of his original text remains. Some of it remains \
but has been modified a bit, because of reorganization, etc. Some of it is \
new text added by me. To make things more complicated, it's all intertwined; \
many paragraphs combine Dan's writing with mine.\n\n[ Update (Fall 2004): \
switching textbooks really messed this lab up. We used to parametrize \
\"general\" cross sections, i.e. the points in the surface over any line in \
the xy-plane which went through the appropriate surface. In the new \
textbook, students know about parametric equations of lines, but not \
parametric curves, and not the tangent vector of a parametric curve. I had \
to gut that section and replace it with a version where we only use tangent \
vectors derived from the partial derivatives. Ah well. ]\n\nMinor updates in \
January 2008 for ",
StyleBox["Mathematica",
FontSlant->"Italic"],
" 6.0.\n\nThis would be a major mess, but fortunately we've all agreed to \
use the same license, and it works out. The current version of the lab is \
copyright 2004 by Jonathan Rogness (rogness@math.umn.edu) and is protected by \
the Creative Commons Attribution-NonCommercial-ShareAlike License. You can \
find more information on this license at \
http://creativecommons.org/licenses/by-nc-sa/1.0/. (As mentioned, parts of \
this are copyright 2000 by Cindy Kaus and 2002 by Dan Drake and are protected \
under the same license.)\n\nAlthough it's not specifically required by the \
license, I'd appreciate it if you let me know if you use parts of our labs, \
just so I can keep track of it. Please send me any questions or comments!"
}], "Text",
CellChangeTimes->{{3.411094950361726*^9, 3.411094959354868*^9}}]
}, Closed]]
}, Closed]]
},
AutoGeneratedPackage->Automatic,
ScreenStyleEnvironment->"Working",
WindowSize->{672, 649},
WindowMargins->{{26, Automatic}, {Automatic, 22}},
PrintingPageRange->{Automatic, Automatic},
PrintingOptions->{"Magnification"->1,
"PaperOrientation"->"Portrait",
"PaperSize"->{612, 792},
"PostScriptOutputFile":>FrontEnd`FileName[{$RootDirectory, "user001", "drake",
"mathematica", "new-diff"}, "lab3b.nb.ps", CharacterEncoding ->
"iso8859-1"]},
ShowSelection->True,
FrontEndVersion->"6.0 for Mac OS X x86 (32-bit) (April 20, 2007)",
StyleDefinitions->"Default.nb"
]
(* End of Notebook Content *)
(* Internal cache information *)
(*CellTagsOutline
CellTagsIndex->{}
*)
(*CellTagsIndex
CellTagsIndex->{}
*)
(*NotebookFileOutline
Notebook[{
Cell[568, 21, 422, 12, 99, "Text"],
Cell[CellGroupData[{
Cell[1015, 37, 66, 1, 63, "Section"],
Cell[1084, 40, 2057, 33, 328, "Text"]
}, Closed]],
Cell[CellGroupData[{
Cell[3178, 78, 69, 1, 33, "Section"],
Cell[3250, 81, 538, 9, 101, "Text"],
Cell[3791, 92, 512, 15, 27, "Input"],
Cell[4306, 109, 581, 10, 116, "Text"],
Cell[4890, 121, 350, 11, 20, "DisplayFormula"],
Cell[5243, 134, 184, 4, 41, "Text"],
Cell[5430, 140, 809, 24, 43, "Input"],
Cell[6242, 166, 383, 8, 56, "Text"],
Cell[6628, 176, 807, 24, 43, "Input"],
Cell[7438, 202, 1152, 18, 176, "Text"],
Cell[CellGroupData[{
Cell[8615, 224, 29, 0, 34, "Subsection"],
Cell[8647, 226, 50, 0, 26, "Text"],
Cell[8700, 228, 241, 8, 20, "DisplayFormula"],
Cell[8944, 238, 240, 4, 41, "Text"],
Cell[9187, 244, 606, 14, 166, "Text"]
}, Open ]]
}, Closed]],
Cell[CellGroupData[{
Cell[9842, 264, 92, 1, 33, "Section"],
Cell[9937, 267, 1076, 24, 176, "Text"],
Cell[CellGroupData[{
Cell[11038, 295, 98, 2, 34, "Subsection"],
Cell[11139, 299, 604, 12, 73, "Text"],
Cell[11746, 313, 817, 21, 22, "DisplayFormula"],
Cell[12566, 336, 103, 3, 26, "Text"],
Cell[12672, 341, 230, 7, 25, "DisplayFormula"],
Cell[12905, 350, 396, 10, 41, "Text"],
Cell[13304, 362, 959, 26, 58, "Input"],
Cell[14266, 390, 358, 14, 26, "Text"],
Cell[14627, 406, 672, 23, 88, "Input"],
Cell[15302, 431, 1591, 50, 137, "Text"],
Cell[16896, 483, 1577, 48, 88, "Input"],
Cell[18476, 533, 312, 7, 71, "Text"],
Cell[18791, 542, 647, 22, 27, "Input"],
Cell[19441, 566, 104, 3, 26, "Text"],
Cell[19548, 571, 1455, 41, 103, "Input"],
Cell[21006, 614, 534, 10, 71, "Text"],
Cell[21543, 626, 355, 11, 27, "Input"]
}, Open ]],
Cell[CellGroupData[{
Cell[21935, 642, 97, 2, 34, "Subsection"],
Cell[22035, 646, 151, 3, 41, "Text"],
Cell[22189, 651, 418, 16, 24, "DisplayFormula"],
Cell[22610, 669, 1088, 29, 131, "Text"],
Cell[23701, 700, 647, 22, 27, "Input"],
Cell[24351, 724, 552, 20, 41, "Text"],
Cell[24906, 746, 241, 8, 27, "Input"],
Cell[25150, 756, 71, 0, 26, "Text"],
Cell[25224, 758, 498, 18, 51, "DisplayFormula"],
Cell[25725, 778, 140, 5, 26, "Text"],
Cell[25868, 785, 1280, 37, 73, "Input"],
Cell[27151, 824, 129, 3, 26, "Text"],
Cell[27283, 829, 3633, 101, 578, "Text"]
}, Open ]]
}, Closed]],
Cell[CellGroupData[{
Cell[30965, 936, 82, 1, 33, "Section"],
Cell[31050, 939, 179, 4, 41, "Text"],
Cell[31232, 945, 459, 16, 40, "DisplayFormula"],
Cell[31694, 963, 480, 11, 56, "Text"],
Cell[32177, 976, 209, 8, 22, "DisplayFormula"],
Cell[32389, 986, 324, 8, 41, "Text"],
Cell[32716, 996, 272, 9, 20, "DisplayFormula"],
Cell[32991, 1007, 796, 26, 71, "Text"],
Cell[33790, 1035, 536, 19, 40, "DisplayFormula"],
Cell[34329, 1056, 1707, 51, 182, "Text"],
Cell[CellGroupData[{
Cell[36061, 1111, 248, 7, 27, "Input"],
Cell[36312, 1120, 183, 5, 30, "Output"]
}, Open ]],
Cell[36510, 1128, 66, 0, 26, "Text"],
Cell[CellGroupData[{
Cell[36601, 1132, 191, 6, 27, "Input"],
Cell[36795, 1140, 212, 6, 30, "Output"]
}, Open ]],
Cell[37022, 1149, 491, 16, 41, "Text"],
Cell[CellGroupData[{
Cell[37538, 1169, 595, 15, 43, "Input"],
Cell[38136, 1186, 314, 11, 27, "Output"],
Cell[38453, 1199, 125, 3, 27, "Output"]
}, Open ]],
Cell[38593, 1205, 68, 0, 26, "Text"],
Cell[38664, 1207, 454, 16, 51, "DisplayFormula"],
Cell[39121, 1225, 406, 8, 86, "Text"],
Cell[39530, 1235, 1879, 57, 320, "Text"]
}, Closed]],
Cell[CellGroupData[{
Cell[41446, 1297, 85, 1, 33, "Section"],
Cell[41534, 1300, 343, 7, 72, "Text"],
Cell[41880, 1309, 977, 17, 161, "Text"],
Cell[42860, 1328, 320, 12, 42, "DisplayFormula"],
Cell[43183, 1342, 757, 16, 104, "Text"],
Cell[43943, 1360, 926, 34, 44, "DisplayFormula"],
Cell[44872, 1396, 936, 30, 102, "Text"],
Cell[45811, 1428, 146, 4, 20, "DisplayFormula"],
Cell[45960, 1434, 877, 14, 131, "Text"],
Cell[46840, 1450, 1158, 20, 301, "Text"],
Cell[CellGroupData[{
Cell[48023, 1474, 32, 0, 25, "Subsubsection"],
Cell[48058, 1476, 2964, 44, 536, "Text"]
}, Closed]]
}, Closed]]
}
]
*)
(* End of internal cache information *)