(************** Content-type: application/mathematica ************** CreatedBy='Mathematica 4.2' Mathematica-Compatible Notebook This notebook can be used with any Mathematica-compatible application, such as Mathematica, MathReader or Publicon. The data for the notebook starts with the line containing stars above. To get the notebook into a Mathematica-compatible application, do one of the following: * Save the data starting with the line of stars above into a file with a name ending in .nb, then open the file inside the application; * Copy the data starting with the line of stars above to the clipboard, then use the Paste menu command inside the application. Data for notebooks contains only printable 7-bit ASCII and can be sent directly in email or through ftp in text mode. Newlines can be CR, LF or CRLF (Unix, Macintosh or MS-DOS style). NOTE: If you modify the data for this notebook not in a Mathematica- compatible application, you must delete the line below containing the word CacheID, otherwise Mathematica-compatible applications may try to use invalid cache data. For more information on notebooks and Mathematica-compatible applications, contact Wolfram Research: web: http://www.wolfram.com email: info@wolfram.com phone: +1-217-398-0700 (U.S.) Notebook reader applications are available free of charge from Wolfram Research. *******************************************************************) (*CacheID: 232*) (*NotebookFileLineBreakTest NotebookFileLineBreakTest*) (*NotebookOptionsPosition[ 40853, 1077]*) (*NotebookOutlinePosition[ 41543, 1101]*) (* CellTagsIndexPosition[ 41499, 1097]*) (*WindowFrame->Normal*) Notebook[{ Cell[BoxData[ \(\(\( (*\ \(:\)\(Title : Arrow\ 3 D\)*) \)\( (*\ \(:\)\(Context : Graphics`Arrow3D`\)*) \)\( (*\ \(:\)\(Author : John\ M . Novak\)*) \)\( (*\ \(:\)\(Summary : crude\ 3 D\ arrow\ primitive\)*) \)\( (*\ \(\(:\)\(Copyright : Copyright\ 1996\ Wolfram\ Research\)\), \(\(Inc\)\(.\)\)*) \)\( (*\ \ \(:\)\(Package\ \(Version : 1.0\)\)*) \)\( (*\ \(:\)\(Mathematica\ \(Version : 3.0\)\)*) \)\( (*\ \(:\)\(History : V1 \( .0--\)\ March\ 1996\ by\ John\ M . Novak\)*) \)\( (*\ \(\(:\)\(Keywords : arrow\)\), Graphics3D*) \)\( (*\ \(\(:\)\(Sources : Tom\ Wickham - Jones\)\), "\"*) \)\( (*\ \ \(\(:\)\(Discussion : This\ is\ a\ package\ to\ add\ crude\ 3 D\ arrows\ by\ using\ 3 D\ graphics\ primitives . The\ main\ problem\ with\ this\ approach\ is\ that\ arrows\ \ don' t\ have\ an\ optimal\ appearance\)\), and\ distinction\ between\ \((e . g . )\)\ arrows\ point\ toward\ vs . away\ from\ the\ user\ is\ difficult\ to\ make . On\ the\ other\ hand, it\ is\ readily\ implementable, which\ is\ far\ superior\ to\ any\ other\ approach\ available\ at\ this\ \ time . \((The\ PostScript\ used\ in\ 2 D\ arrows\ won' t\ layer\ correctly\ in\ 3 D, nor\ would\ 2 D\ primitives; placing\ 3 D\ planar\ primitives\ with\ the\ correct\ orientation\ has\ \ problems\ with\ perspective\ transforms\ as\ well\ as\ design\ problems\ with\ \ things\ like\ arrows\ with\ a\ small\ angle\ w . r . t . the\ \(\(user\)\(.\)\))\)\ Because\ of\ the\ essentially\ \ different\ approach\ from\ 2 D\ arrows, the\ package\ is\ being\ made\ independent\ of\ the\ 2 D\ package\ for\ the\ time\ \(\(being\)\(.\)\)*) \ \)\(BeginPackage["\"]\n\[IndentingNewLine] \(Arrow3D::usage = "\";\)\[IndentingNewLine]\n Begin["\<`Private`\>"]\[IndentingNewLine]\n (*The\ following\ routine\ is\ \ based\ on\ OrthogonalVectors\ from\ Tom\ Wickham - Jones'\ Mathematica\ Graphics\ \ \(\(book\)\(.\)\)*) \[IndentingNewLine]\[IndentingNewLine] anOrthogonalVector[norm : {_, _, _}] := Block[{pos, a, b, v1}, pos = If[VectorQ[norm, NumberQ], Abs[N[norm]], norm]; \[IndentingNewLine]pos = Sort[Transpose[{pos, Range[3]}]]; \[IndentingNewLine]{pos, a, b} = Map[Last, pos]; \[IndentingNewLine]v1 = ReplacePart[{0, 0, 0}, \(-Part[norm, a]\), b]; \[IndentingNewLine]ReplacePart[v1, Part[norm, b], a]]\[IndentingNewLine]\n normalize[vec_] := vec/Sqrt[vec . vec]\[IndentingNewLine]\n (*The\ following\ routine' rotationmatrix'\ was\ borrowed\ from\ the\ standard\ package\ \ \(\(Graphics`SurfaceOfRevolution`\)\(.\)\)*) \[IndentingNewLine]\ \[IndentingNewLine] rotationmatrix[axis_, theta_] := Module[{n1, n2, n3}, {n1, n2, n3} = normalize[axis] // N; \[IndentingNewLine]{{n1^2 + \((1 - n1^2)\)\ Cos[theta], n1\ n2\ \((1 - Cos[theta])\) + n3\ Sin[theta], n1\ n3\ \((1 - Cos[theta])\) - n2\ Sin[theta]}, {n1\ n2\ \((1 - Cos[theta])\) - n3\ Sin[theta], n2^2 + \((1 - n2^2)\)\ Cos[theta], n2\ n3\ \((1 - Cos[theta])\) + n1\ Sin[theta]}, {n1\ n3\ \((1 - Cos[theta])\) + n2\ Sin[theta], n2\ n3\ \((1 - Cos[theta])\) - n1\ Sin[theta], n3^2 + \((1 - n3^2)\)\ Cos[theta]}} // N]\[IndentingNewLine]\n Arrow3D[base : {_, _, _}, tip : {_, _, _}, polys_: 10, len_: 0.8] := {Line[{base, tip}], mycone[tip - base, base, tip, polys, len]}\[IndentingNewLine]\n Arrow3D[base : {_, _, _}, tip : {_, _, _}, ___] := Point[base] /; base \[Equal] tip\[IndentingNewLine]\n mycone[vec_, base_, tip_, polys_, len_] := Block[{norm = anOrthogonalVector[vec], theta}, Map[Polygon[Append[#, tip]] &, Partition[ Table[base + len\ vec + \((1 - len)\)/2\ norm . rotationmatrix[vec, theta], {theta, 0, 2\ Pi, 2\ Pi/polys}] // N, 2, 1]]]\[IndentingNewLine]\n End[]\[IndentingNewLine]\n EndPackage[]\[IndentingNewLine]\n\n \("\";\)\n \("\";\)\n \("\";\)\n \("\";\)\[IndentingNewLine] \)\)\)], "Input", Editable->True, CellOpen->False, InitializationCell->True], Cell[TextData[{ Cell[BoxData[{ StyleBox[\(MATH\ 257\ Calculus\ III\t\t\t\tWeek\ of\ May\ 12, \ 2003\), FontSize->14], "\n", StyleBox[\(Lab\ 7 : \ Cross\ Products\ and\ Planes\), "Title"], "\n", StyleBox[\(Name\ 1\), "Section"], "\n", StyleBox[\(Name\ 2\), "Section"], "\n", StyleBox[\(\(Section\)\(:\)\), "Section"]}], "Input"], "\n" }], "Text", FontColor->GrayLevel[1], Background->RGBColor[0, 0, 1]], Cell[TextData[{ "I. Laboratory Objectives\n\tUse ", StyleBox["Mathematica,", FontSlant->"Italic"], " vectors, and matrices to explore\n\t\tCross Products" }], "Text"], Cell[TextData[StyleBox["II. Formatting and Syntax Information", "Text"]], \ "Text"], Cell[TextData[{ "\t", StyleBox["v\[Cross]u", "Input"], "\t\t\t\tTwo ways to do the ", StyleBox["Cross Product", FontWeight->"Bold"], " of two \n\t", StyleBox["Cross[v,u]", "Input"], "\t\tvectors ", StyleBox["v", "Input"], " and ", StyleBox["u", "Input"], ". The \[Cross] is the smallest \"X\" on the \n\t\t\t\t\tBasic Inputs \ pallette. (Under the \[ImaginaryI].)\n\t\t\t\t\t\n", StyleBox["Before you begin", FontWeight->"Bold"], " execute the following command. Click ", StyleBox["YES", FontWeight->"Bold"], " when asked to execute any initialization cells:" }], "Text", FontFamily->"Helvetica", FontSize->14], Cell[BoxData[ \(<< Graphics`Arrow`\)], "Input"], Cell[TextData[{ StyleBox["Be sure to read everything and ", FontFamily->"Helvetica"], StyleBox["execute", FontFamily->"Helvetica", FontWeight->"Bold"], StyleBox[" all the commands as you go along.", FontFamily->"Helvetica"] }], "Text", FontSize->14], Cell[CellGroupData[{ Cell[TextData[StyleBox[" Cross Products", FontWeight->"Bold", FontColor->RGBColor[0, 0, 1]]], "Subtitle"], Cell[TextData[{ "If you have two vectors ", StyleBox["u ", "Input"], "and ", StyleBox["v", "Input"], ", there is a way you can multiply them together to get a new vector, ", StyleBox["u\[Cross]v", "Input"], ". This is called the ", StyleBox["cross product", FontWeight->"Bold"], " of ", StyleBox["u", "Input"], " and ", StyleBox["v", "Input"], ". Computing the cross product by hand is a real pain, as you will see in \ class (if you haven't seen this already). Luckily, ", StyleBox["Mathematica", FontSlant->"Italic"], " will do all the yucky computations for us. You can use either of the \ commands ", StyleBox["Cross[u,v]", "Input"], " or ", StyleBox["u\[Cross]x", "Input"], " to get the cross product of vectors ", StyleBox["u", "Input"], " and ", StyleBox["v", "Input"], ".\n\nTry the following example. The third vector shown will be the cross \ product of the first two." }], "Text", FontSize->14], Cell[BoxData[ \(\(\(\[IndentingNewLine]\)\(u = {1, 1, 1}\[IndentingNewLine] v = {\(-3\), \ \(-2\), \ \(-1\)}\[IndentingNewLine] Cross[u, v]\)\)\)], "Input"], Cell[TextData[{ "One useful thing is to be able to ", StyleBox["label vectors", FontWeight->"Bold"], " when you draw them in ", StyleBox["Mathematica", FontSlant->"Italic"], ". If you're drawing a vector a starting at the origin, use the ", StyleBox["Arrow3D", "Input"], " command to draw it:\n\t\t\t", StyleBox["Arrow3D[{0,0,0}, a]", "Input"], "\nand use the ", StyleBox["Text[StyleForm[ \"text\", FontSize-> whatever ], {coordinates of \ the text} ]", "Input"], " command to give it a label:\n\t\t\t", StyleBox["Text[StyleForm[\"a\", FontSize\[Rule]16], a]", "Input"], "\nThat will put an \"a\" at the coordinates of the vector a. The ", StyleBox["FontSize", "Input"], " command makes sure it'll be big enough to see. (You can experiment with \ different font sizes.) See the Help browser for more info.\n\nSo, if you \ want to draw a 3D vector and label it, all you need to do is put a ", StyleBox["Text[StyleForm[]]", "Input"], " command immediately following the ", StyleBox["Arrow3D[]", "Input"], " command. Like this:" }], "Text", FontSize->14], Cell[BoxData[{ \(\(u = {1, 2, 3};\)\), "\[IndentingNewLine]", \(Show[ Graphics3D[{\[IndentingNewLine]Arrow3D[{0, 0, 0}, \ u], \ \[IndentingNewLine]Text[ StyleForm["\", \ FontSize \[Rule] 16], \ u]\[IndentingNewLine]}, Axes \[Rule] True, \ \ PlotRange \[Rule] {{0, 3}, \ {0, 3}, \ {0, 3}}]]\)}], "Input"], Cell[TextData[{ StyleBox["Question 1:", FontWeight->"Bold"], " Make up two nonzero, nonparallel vectors and call them ", StyleBox["a", FontWeight->"Bold"], " and ", StyleBox["b", FontWeight->"Bold"], ". Make a 3D drawing of your two vectors, starting at the origin, together \ with their cross product, and label which vector is which." }], "Text", FontSize->14, FontColor->RGBColor[1, 0, 0]], Cell[BoxData[ \(\[IndentingNewLine]\)], "Input"], Cell[TextData[{ "You should notice in the previous problem the following ", StyleBox["fact about cross products", FontWeight->"Bold"], ":\n ", StyleBox[" ", FontColor->RGBColor[0, 0, 1]], StyleBox["u\[Cross]v ", "Input", FontColor->RGBColor[0, 0, 1]], StyleBox[" is a new vector that is perpendicular (or normal) to both \ vectors ", FontColor->RGBColor[0, 0, 1]], StyleBox["u", "Input", FontColor->RGBColor[0, 0, 1]], StyleBox[" and ", FontColor->RGBColor[0, 0, 1]], StyleBox["v", "Input", FontColor->RGBColor[0, 0, 1]], "\n" }], "Text", FontSize->14], Cell[TextData[{ StyleBox["Question 2:", FontWeight->"Bold"], " What happens when you take the cross product of two parallel vectors? ", StyleBox["Remember: ", FontWeight->"Bold"], "two vectors are parallel if they have either the same direction or \ completely opposite directions. ", "Experiment with vectors of your choosing to find the cross product of two \ parallel vectors in ", StyleBox["Mathematica", FontSlant->"Italic"], ". (", StyleBox["Make sure", FontWeight->"Bold"], " your vectors are parallel!) ", "Why do you think this happens?" }], "Text", FontSize->14, FontColor->RGBColor[1, 0, 0]], Cell[BoxData[ \(\[IndentingNewLine]\)], "Input"], Cell[TextData[{ "Why do we need cross products? There are many reasons. Here are two:\n\t\ (1) They give a good way of producing normal vectors.\n\t(2) If ", StyleBox["u", "Input"], " and ", StyleBox["v ", "Input"], "are vectors, then ", StyleBox["|u\[Cross]v|", "Input"], " (the magnitude of ", StyleBox["u\[Cross]v", "Input"], ") will equal the \n\t ", StyleBox["area of the parellelogram", FontWeight->"Bold"], " determined by ", StyleBox["u", "Input"], " and ", StyleBox["v", "Input"], ". (See the below picture.)\nThis last one is proven in the textbook. \ (You'll probably see it in class.)" }], "Text", FontSize->14], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"\[IndentingNewLine]", StyleBox[\(Show[ Graphics[{Thickness[ .01], Arrow[{0, 0}, {3, 1}], \[IndentingNewLine]Arrow[{0, 0}, {2, 4}], \[IndentingNewLine]Text[ FontForm["\", {"\", 14}], {1.5, .73}], \[IndentingNewLine]Text[ FontForm["\", {"\", 14}], { .7, 2.2}], \[IndentingNewLine]Dashing[{ .02, .02}], \ \[IndentingNewLine]Arrow[{2, 4}, \ {5, 5}], \ Arrow[{3, 1}, {5, 5}], \[IndentingNewLine]Text[ FontForm["\", \ {"\", \ 14}], \ {2.5, 2.5}]\[IndentingNewLine]}], \ AspectRatio \[Rule] Automatic]\), "Input"]}]], "Input", CellOpen->False], Cell[GraphicsData["PostScript", "\<\ %! %%Creator: Mathematica %%AspectRatio: 1 MathPictureStart /Mabs { Mgmatrix idtransform Mtmatrix dtransform } bind def /Mabsadd { Mabs 3 -1 roll add 3 1 roll add exch } bind def %% Graphics %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10 scalefont setfont % Scaling calculations 0.0238095 0.190476 0.0238095 0.190476 [ [ 0 0 0 0 ] [ 1 1 0 0 ] ] MathScale % Start of Graphics 1 setlinecap 1 setlinejoin newpath 0 0 m 1 0 L 1 1 L 0 1 L closepath clip newpath % Start of user PostScript /mathtops { gsave MBeginOrig moveto MEndOrig currentpoint grestore } bind def /MAtocoords { mathtops 4 2 roll mathtops 4 copy pop pop 3 -1 roll sub /arry exch def exch sub /arrx exch def arrx dup mul arry dup mul add sqrt /arrl exch def translate } bind def /MAarrowhead1 { gsave MAtocoords arrl 0. eq { 0 0 Mdot } { [ arrx arrl div arry arrl div -1 arry mul arrl div arrx arrl div 0 0 ] concat -0.05 0.0125 moveto 0 0 lineto -0.05 -0.0125 lineto fill -0.05 0.0125 moveto 0 0 lineto -0.05 -0.0125 lineto -0.05 0.0125 lineto stroke } ifelse grestore } def % End of user PostScript 0 g .01 w [ ] 0 setdash .02381 .02381 m .59524 .21429 L s % Start of user PostScript 0 0 3. 1. MAarrowhead1 % End of user PostScript .02381 .02381 m .40476 .78571 L s % Start of user PostScript 0 0 2. 4. MAarrowhead1 % End of user PostScript gsave .30952 .16286 -67.1875 -12 Mabsadd m 1 1 Mabs scale currentpoint translate 0 24 translate 1 -1 scale /g { setgray} bind def /k { setcmykcolor} bind def /p { gsave} bind def /r { setrgbcolor} bind def /w { setlinewidth} bind def /C { curveto} bind def /F { fill} bind def /L { lineto} bind def /rL { rlineto} bind def /P { grestore} bind def /s { stroke} bind def /S { show} bind def /N {currentpoint 3 -1 roll show moveto} bind def /Msf { findfont exch scalefont [1 0 0 -1 0 0 ] makefont setfont} bind def /m { moveto} bind def /Mr { rmoveto} bind def /Mx {currentpoint exch pop moveto} bind def /My {currentpoint pop exch moveto} bind def /X {0 rmoveto} bind def /Y {0 exch rmoveto} bind def 63.000 16.000 moveto %%IncludeResource: font Courier-Bold %%IncludeFont: Courier-Bold /Courier-Bold findfont 14.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor 0.000 0.000 rmoveto 63.000 16.000 moveto %%IncludeResource: font Courier-Bold %%IncludeFont: Courier-Bold /Courier-Bold findfont 14.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor (u) show 71.375 16.000 moveto %%IncludeResource: font Courier-Bold %%IncludeFont: Courier-Bold /Courier-Bold findfont 14.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor 0.000 0.000 rmoveto 1.000 setlinewidth grestore gsave .15714 .44286 -67.1875 -12 Mabsadd m 1 1 Mabs scale currentpoint translate 0 24 translate 1 -1 scale /g { setgray} bind def /k { setcmykcolor} bind def /p { gsave} bind def /r { setrgbcolor} bind def /w { setlinewidth} bind def /C { curveto} bind def /F { fill} bind def /L { lineto} bind def /rL { rlineto} bind def /P { grestore} bind def /s { stroke} bind def /S { show} bind def /N {currentpoint 3 -1 roll show moveto} bind def /Msf { findfont exch scalefont [1 0 0 -1 0 0 ] makefont setfont} bind def /m { moveto} bind def /Mr { rmoveto} bind def /Mx {currentpoint exch pop moveto} bind def /My {currentpoint pop exch moveto} bind def /X {0 rmoveto} bind def /Y {0 exch rmoveto} bind def 63.000 16.000 moveto %%IncludeResource: font Courier-Bold %%IncludeFont: Courier-Bold /Courier-Bold findfont 14.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor 0.000 0.000 rmoveto 63.000 16.000 moveto %%IncludeResource: font Courier-Bold %%IncludeFont: Courier-Bold /Courier-Bold findfont 14.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor (v) show 71.375 16.000 moveto %%IncludeResource: font Courier-Bold %%IncludeFont: Courier-Bold /Courier-Bold findfont 14.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor 0.000 0.000 rmoveto 1.000 setlinewidth grestore [ .02 .02 ] 0 setdash .40476 .78571 m .97619 .97619 L s % Start of user PostScript 2. 4. 5. 5. MAarrowhead1 % End of user PostScript .59524 .21429 m .97619 .97619 L s % Start of user PostScript 3. 1. 5. 5. MAarrowhead1 % End of user PostScript gsave .5 .5 -104.938 -12 Mabsadd m 1 1 Mabs scale currentpoint translate 0 24 translate 1 -1 scale /g { setgray} bind def /k { setcmykcolor} bind def /p { gsave} bind def /r { setrgbcolor} bind def /w { setlinewidth} bind def /C { curveto} bind def /F { fill} bind def /L { lineto} bind def /rL { rlineto} bind def /P { grestore} bind def /s { stroke} bind def /S { show} bind def /N {currentpoint 3 -1 roll show moveto} bind def /Msf { findfont exch scalefont [1 0 0 -1 0 0 ] makefont setfont} bind def /m { moveto} bind def /Mr { rmoveto} bind def /Mx {currentpoint exch pop moveto} bind def /My {currentpoint pop exch moveto} bind def /X {0 rmoveto} bind def /Y {0 exch rmoveto} bind def /MISOfy { /newfontname exch def /oldfontname exch def oldfontname findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse} forall /Encoding MacintoshRomanEncoding def currentdict end newfontname exch definefont pop } def 63.000 16.000 moveto %%IncludeResource: font Courier-Bold %%IncludeFont: Courier-Bold %%BeginResource: font Courier-Bold-MISO %%BeginFont: Courier-Bold-MISO /Courier-Bold /Courier-Bold-MISO MISOfy %%EndFont %%EndResource %%IncludeResource: font Courier-Bold-MISO %%IncludeFont: Courier-Bold-MISO /Courier-Bold-MISO findfont 14.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor 0.000 0.000 rmoveto 63.125 16.000 moveto %%IncludeResource: font Courier-Bold-MISO %%IncludeFont: Courier-Bold-MISO /Courier-Bold-MISO findfont 14.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor (Area) show 96.625 16.000 moveto %%IncludeResource: font Mathematica1Mono %%IncludeFont: Mathematica1Mono /Mathematica1Mono findfont 14.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor (=) show %%IncludeResource: font Mathematica2Mono %%IncludeFont: Mathematica2Mono /Mathematica2Mono findfont 14.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor 105.000 16.000 moveto (\\310) show 113.375 16.000 moveto %%IncludeResource: font Courier-Bold-MISO %%IncludeFont: Courier-Bold-MISO /Courier-Bold-MISO findfont 14.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor (u) show 121.750 16.000 moveto %%IncludeResource: font Mathematica1Mono %%IncludeFont: Mathematica1Mono /Mathematica1Mono findfont 14.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor (\\211) show 130.125 16.000 moveto %%IncludeResource: font Courier-Bold-MISO %%IncludeFont: Courier-Bold-MISO /Courier-Bold-MISO findfont 14.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor (v) show %%IncludeResource: font Mathematica2Mono %%IncludeFont: Mathematica2Mono /Mathematica2Mono findfont 14.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor 138.500 16.000 moveto (\\310) show 146.875 16.000 moveto %%IncludeResource: font Courier-Bold-MISO %%IncludeFont: Courier-Bold-MISO /Courier-Bold-MISO findfont 14.000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000 0.000 0.000 setrgbcolor 0.000 0.000 rmoveto 1.000 setlinewidth grestore % End of Graphics MathPictureEnd \ \>"], "Graphics", ImageSize->{288, 288}, ImageMargins->{{43, 0}, {0, 0}}, ImageRegion->{{0, 1}, {0, 1}}, ImageCache->GraphicsData["Bitmap", "\<\ CF5dJ6E]HGAYHf4PAg9QL6QYHgooooo`L00000ooooool1ooooo`002Oooool20000017ooooo1`00003moooo o`002Oooool3000001?ooooo1`00003jooooo`002_ooool2000001Kooooo1`00003gooooo`002_oo ool3000001Sooooo1`00003dooooo`002oooool2000001_ooooo1`00003aooooo`002oooool30000 01gooooo1`00003^ooooo`003?ooool20000023ooooo1`00003[ooooo`003?ooool3000002;ooooo 1`00003Xooooo`003Oooool2000002Gooooo1`00003Uooooo`003Oooool3000002Oooooo1`00003R ooooo`003_ooool2000002[ooooo1`00003Oooooo`003_ooool3000002cooooo1`00003Looooo`00 3oooool2000002oooooo1`00003Iooooo`003oooool30000037ooooo1`00003Fooooo`004?ooool2 000003Cooooo1`00003Cooooo`004?ooool3000003Kooooo1`00003@ooooo`004Oooool2000003Wo oooo1`00003=ooooo`004Oooool3000003_ooooo1`00003:ooooo`004_ooool2000003kooooo1`00 0037ooooo`004_ooool30000043ooooo1`000034ooooo`004oooool2000004?ooooo1`000031oooo o`004oooool3000004Gooooo1`00002nooooo`005?ooool2000004Sooooo1`00002kooooo`005?oo ool3000004[ooooo1`00002hooooo`005Oooool2000004gooooo1`00002eooooo`005Oooool30000 04oooooo1`00002booooo`005_ooool2000005;ooooo1`00002_ooooo`005_ooool3000005Cooooo 1`00002/ooooo`005oooool2000003gooooo1ol0000Cooooo`L00000ZOooool001Oooooo0`00000k ooooo`;o00000_ooool3o`0001Oooooo1`00002Vooooo`006?ooool2000003_ooooo0_l00003oooo o`;o00006_ooool700000:?ooooo000Hooooo`<00000>_ooool2o`0000?ooooo0_l0000Mooooo`L0 0000X?ooool001Wooooo0P00000jooooo`;o00000oooool2o`00023ooooo1`00002Mooooo`006Ooo ool3000003Wooooo0_l00003ooooo`;o00008oooool7000009[ooooo000Jooooo`800000>?ooool3 o`0000;ooooo0ol0000Vooooo`L00000Uoooool001[ooooo0`00001Xooooo`L00000U?ooool001_o oooo0P00001[ooooo`L00000TOooool001_ooooo0`00001]ooooo`L00000S_ooool001cooooo0P00 001`ooooo`L000002?ooool3o`00083ooooo000Looooo`<00000L_ooool7000000Gooooo1?l0001o ooooo`007Oooool2000007Gooooo1`000002ooooo`Ko0000OOooool001gooooo0`00001gooooo`D0 00002?l0001looooo`007_ooool2000007[ooooo0P00000:o`0007[ooooo000Nooooo`<00000Nooo ool;o`0007Wooooo000Oooooo`800000N_ooool>o`0007Oooooo000Oooooo`<00000NOooool?o`00 07Kooooo000Pooooo`800000NOooool@o`0007Gooooo000Pooooo`<00000P?ooool8o`0007Gooooo 000Qooooo`800000Q_ooool3o`0007Cooooo000Qooooo`<00000Q_ooool3o`0007?ooooo000Roooo o`800000Qoooool2o`0007?ooooo000Rooooo`<00000Q_ooool3o`0007;ooooo000Sooooo`800000 Qoooool2o`0007;ooooo000Sooooo`<00000n_ooool002Cooooo0P00003jooooo`009?ooool30000 0?Wooooo000Uooooo`800000Qoooool2o`00073ooooo000Uooooo`<00000Q_ooool2o`00073ooooo 000Vooooo`800000Q_ooool3o`0006oooooo000Vooooo`<00000Q_ooool3o`0006kooooo000Woooo o`800000Qoooool2o`0006kooooo000Wooooo`<00000Q_ooool3o`0006gooooo000Xooooo`800000 Qoooool2o`0006gooooo000Xooooo`<00000mOooool002Wooooo0P00003eooooo`00:Oooool30000 0?Cooooo000Zooooo`800000m?ooool002[ooooo0`000027ooooo`;o0000J_ooool002_ooooo0P00 0027ooooo`;o0000J_ooool002_ooooo0`000026ooooo`?o0000JOooool002cooooo0P000027oooo o`;o0000JOooool002cooooo0`000026ooooo`;o0000JOooool002gooooo0P000026ooooo`?o0000 J?ooool002gooooo0`000026ooooo`;o0000J?ooool002kooooo0P00003`ooooo`00;_ooool30000 0>oooooo000_ooooo`800000koooool002oooooo0`000027ooooo`;o0000IOooool0033ooooo0P00 0027ooooo`;o0000IOooool0033ooooo0`000026ooooo`?o0000I?ooool0037ooooo0P000027oooo o`;o0000I?ooool0037ooooo0`000026ooooo`;o0000I?ooool003;ooooo0P000026ooooo`?o0000 Hoooool003;ooooo0`000026ooooo`;o0000Hoooool003?ooooo0P00003[ooooo`00[ooooo000dooooo`800000j_ooool003Cooooo0`000027ooooo`;o0000H?ooool003Gooooo0P00 0027ooooo`;o0000H?ooool003Gooooo0`000026ooooo`?o0000Goooool003Kooooo0P000027oooo o`;o0000Goooool003Kooooo0`000026ooooo`;o0000Goooool003Oooooo0P000026ooooo`?o0000 G_ooool003Oooooo0`000026ooooo`;o0000G_ooool003Sooooo0P00003Vooooo`00>?ooool30000 0>Gooooo000iooooo`800000iOooool003Wooooo0`000027ooooo`;o0000Foooool003[ooooo0P00 0027ooooo`;o0000Foooool003[ooooo0`000026ooooo`?o0000F_ooool003_ooooo0P000027oooo o`;o0000F_ooool003_ooooo0`000026ooooo`?o0000FOooool003cooooo0`000026ooooo`;o0000 FOooool003gooooo0P000026ooooo`?o0000F?ooool003gooooo0`000026ooooo`;o0000F?ooool0 03kooooo0P00003Pooooo`00?_ooool300000=oooooo000oooooo`800000goooool003oooooo0`00 0026ooooo`;o0000E_ooool002_ooooo0_l0000Cooooo`800000Q_ooool2o`0005Kooooo000[oooo o`;o00004oooool3000008Gooooo0ol0001Eooooo`00:_ooool4o`0001?ooooo0P000026ooooo`?o 0000E?ooool002[ooooo1?l0000Cooooo`<00000Q_ooool2o`0005Cooooo000Yooooo`;o00000_oo ool2o`0001?ooooo0P000026ooooo`?o0000Doooool002Wooooo0_l00002ooooo`;o00004oooool3 000008Kooooo0_l0001Cooooo`00:?ooool8o`0001?ooooo0P00003Kooooo`00@oooool300000=[o oooo0014ooooo`800000f_ooool004Cooooo0`000026ooooo`;o0000DOooool004Gooooo0P000026 ooooo`;o0000DOooool004Gooooo0`000025ooooo`?o0000D?ooool004Kooooo0P000026ooooo`?o 0000Coooool004Kooooo0`00001:ooooo`03o`000?oooooooooo01oooooo00?o0000ooooooooool0 5oooool2o`0004oooooo0017ooooo`800000B_ooool00ol0003oooooooooo`0Oooooo`03o`000?oo oooooooo01Oooooo0ol0001>ooooo`00Aoooool3000004Wooooo00?o0000ooooooooool07oooool0 0ol0003oooooooooo`0Hooooo`;o0000C_ooool004Sooooo0P00000Kooooo`So000000?oooooo`00 0?l000000ol00006ooooo`Co00001?ooool4o`000003ooooool0003o000000_ooooo00?o0000oooo ooooool00oooool7o`0000_ooooo0_l00008ooooo`03o`000?oooooooooo06Sooooo0018ooooo`<0 00006oooool2o`0000;ooooo0_l00003ooooo`;o00001oooool2o`0000;ooooo0_l00002ooooo`;o 00000_ooool3o`000003ooooool0003o000000Co00001Oooool00ol0003oooooooooo`02ooooo`;o 00000_ooool3o`0000?ooooo00Go^[Zjonk^k_ooooook^k^okZj^P04ooooo`;o00002?ooool00ol0 003oooooooooo`1Xooooo`00BOooool2000001_ooooo0_l00002ooooo`;o00000oooool2o`0000Ko oooo0_l00007ooooo`;o00000oooool2o`0000cooooo00?o0000ooooooooool00_ooool2o`0000?o oooo0_l00003ooooo`05onk^k_mEEEGogMgMoeEEEOo^k^h00oooool4o`0000Oooooo00?o0000oooo ooooool0J?ooool004Wooooo0`00000Jooooo`Ko00000oooool2o`0000Kooooo2?l00002ooooo`;o 00000_ooool2o`0000cooooo00?o0000ooooooooool00_ooool2o`0000?ooooo0_l00004ooooo`03 omgMgOl0003ogMgM00Cooooo1?l00007ooooo`03o`000?oooooooooo01[ooooo0_l0001ooooo`<00000Qoooool2o`0004Kooooo001?ooooo`800000Qooo ool2o`0004Kooooo001?ooooo`<00000Q_ooool3o`0004Gooooo001@ooooo`800000Qoooool2o`00 04Gooooo001@ooooo`<00000Q_ooool2o`0004Gooooo001Aooooo`800000Q_ooool3o`0004Cooooo 001Aooooo`<00000Q_ooool2o`0004Cooooo001Booooo`800000Q_ooool2o`0004Cooooo001Boooo o`<00000boooool005?ooooo0P00003;ooooo`00Doooool300000<[ooooo001Dooooo`800000Qooo ool2o`00047ooooo001Dooooo`<00000Q_ooool2o`00047ooooo001Eooooo`800000Q_ooool3o`00 043ooooo001Eooooo`<00000Q_ooool2o`00043ooooo001Fooooo`800000Q_ooool2o`00043ooooo 001Fooooo`<00000QOooool3o`0003oooooo001Gooooo`800000Q_ooool2o`0003oooooo001Goooo o`<00000a_ooool005Sooooo0P000036ooooo`00F?ooool300000Ooo ool00>[ooooo1000000booooo`00j_ooool7000001oooooo0_l000001?ooool00000ooooool0000: ooooo`00kOooool5000001gooooo0_l0000300000003ooooool0003ooooo00Wooooo003`ooooo`80 00007?ooool00ol0000000000000000400000003o`000?oooooooooo00Sooooo003eooooo`D00000 5?ooool00ol0000000000000000400000003o`000?oooooooooo00Sooooo003eooooo`P000004_oo ool00ol0000000000000000300000003ooooool0003ooooo00Sooooo003iooooo`@000004oooool0 0ol0000000000000000200000003ooooool0003ooooo00Sooooo003oooooo`7ooooo10000007oooo o`?o00000oooool00ol0000000000000000200000003o`000?oooooooooo00Oooooo003oooooo`7o oooo1`000004ooooo`Go00000_ooool01?l00000000000000000000:ooooo`00ooooool4ooooo`D0 00000oooool2000000Co00000_ooool3000000[ooooo003oooooo`Oooooo0P000003ooooo`@00000 0ol000000oooool0000000000002000000Wooooo003oooooo`[ooooo0_l00005000000;o00000_oo ool3000000Wooooo003oooooo`[ooooo0_l00008000000;ooooo00?o000000000?l000002?ooool0 0?oooooo2Oooool3o`0000X000000ol00008ooooo`00ooooool9ooooo`So00000`000006o`0000Oo oooo003oooooo`Wooooo2?l00002ooooo`0300000?l0003o000000Co00001oooool00?oooooo5ooo ool3o`0000Oooooo003oooooob7ooooo003oooooob7ooooo003oooooob7ooooo003oooooob7ooooo 003oooooob7ooooo0000\ \>"], ImageRangeCache->{{{0, 287}, {287, 0}} -> {-0.125026, -0.125026, 0.0182929, \ 0.0182929}}] }, Open ]], Cell[TextData[{ StyleBox["Question 3:", FontWeight->"Bold"], " Suppose you're given three points of a triangle: (0,0,0), (x1, y1, 0), \ and (x2, y2, 0). Use the cross product to generate a formula (in terms of the \ x1, x2, y1, and y2) of the area of this triangle. (", StyleBox["Hint:", FontWeight->"Bold"], " think half of a parallelogram.)\n" }], "Text", FontSize->14, FontColor->RGBColor[1, 0, 0]], Cell[BoxData[ \(\[IndentingNewLine]\)], "Input"] }, Open ]], Cell[CellGroupData[{ Cell[TextData[StyleBox["Graphing Planes in 3D", FontWeight->"Bold", FontColor->RGBColor[0, 0, 1]]], "Subtitle"], Cell[TextData[{ "Graphing 3D surfaces in ", StyleBox["Mathematica", FontSlant->"Italic"], " is easy if you have a function of the form z=f(x,y). Just use the ", StyleBox["Plot3D[]", "Input"], " command, which works just like ", StyleBox["Plot[]", "Input"], " except you have to specify the x ", StyleBox["and", FontWeight->"Bold"], " y ranges.\n\nFor example, let's plot the plane ", StyleBox["z = -x +.25 y +1", FontWeight->"Bold"], ". (Here we use the ", StyleBox["ViewPoint", "Input"], " command to get a better view of it.)" }], "Text", FontSize->14], Cell[BoxData[ \(\(\(\[IndentingNewLine]\)\(plane1 = Plot3D[\(-x\)\ + \ .25*y\ + \ 1, \ {x, \ \(-2\), 2}, \ {y, \(-2\), 2}, \ PlotRange \[Rule] {\(-2\), 2}, \ AspectRatio \[Rule] 1, \ ViewPoint -> {2.318, \ \(-2.360\), \ 0.713}]\)\)\)], "Input"], Cell[TextData[{ "(", StyleBox["Mathematica", FontSlant->"Italic"], " chops off parts of the plane that don't fit. That's what you see at the \ top.)\nLet's draw some vectors on this plane. Plugging in", StyleBox[" x=0", "Input"], ", ", StyleBox["y=0", "Input"], ", we get ", StyleBox["z=1", "Input"], ", so the point (0,0,1) is on this plane. We can also plug in ", StyleBox["x=1", "Input"], ", ", StyleBox["y=0", "Input"], " and plug in ", StyleBox["x=0", "Input"], ", ", StyleBox["y=1", "Input"], " to get other points. Then we can draw some arrows connecting these \ points:\n" }], "Text", FontSize->14], Cell[BoxData[{ \(\(p = {0, 0, 1};\)\), "\[IndentingNewLine]", \(\(p1 = {1, 0, 0};\)\), "\[IndentingNewLine]", \(\(p2 = {0, 1, 1.25};\)\), "\[IndentingNewLine]", \(Show[{plane1, \ Graphics3D[{Thickness[ .01], Arrow3D[p, p1], \ Arrow3D[p, p2]}]}]\)}], "Input"], Cell[TextData[{ "Notice how we used the ", StyleBox["Show[]", "Input"], " command to combine the plane1 plot with the ", StyleBox["Graphics3D", "Input"], " arrow commands. \n\nSo, let's find the cross product of these two \ vectors! We ", StyleBox["cannot", FontWeight->"Bold"], " just use", StyleBox[" p", "Input"], ", ", StyleBox["p1", "Input"], ", and ", StyleBox["p2", "Input"], " as they are, since they would be vectors going from the ", StyleBox["origin", FontWeight->"Bold"], " to these points. Instead, we gotta subtract them: one vector will be ", StyleBox["p1-p", "Input"], ", and the other will be ", StyleBox["p2-p", "Input"], ". So call their cross product ", StyleBox["Nvec", "Input"], " (since it will be a normal vector), and let's graph them all together!", "\n" }], "Text", FontSize->14], Cell[BoxData[{ \(Nvec = \((p1 - p)\)\[Cross]\((p2 - p)\)\), "\[IndentingNewLine]", \(Show[{plane1, \ Graphics3D[{Thickness[ .01], Arrow3D[p, p1], \ Arrow3D[p, p2], \[IndentingNewLine]Arrow3D[p, Nvec + p]}]}]\)}], "Input"], Cell[TextData[{ "Notice how the perspective is a little weird, but it does look like ", StyleBox["Nvec", "Input"], " is normal to the plane!" }], "Text", FontSize->14], Cell[TextData[{ StyleBox["Question 4:", FontWeight->"Bold"], " Use the same procedure we used above to make a picture of the plane \ z=3x+y together with a normal vector at the point (0,0,0)." }], "Text", FontSize->14, FontColor->RGBColor[1, 0, 0]], Cell[BoxData[ \(\[IndentingNewLine]\)], "Input"], Cell[TextData[{ "Here's how you can make ", StyleBox["Mathematica", FontSlant->"Italic"], " plot these two planes at the same time:" }], "Text", FontSize->14], Cell[BoxData[ \(\(\(\[IndentingNewLine]\)\(\(plane1 = Plot3D[\(-x\)\ + \ .25*y\ + \ 1, \ {x, \ \(-2\), 2}, \ {y, \(-2\), 2}, \ PlotRange \[Rule] {\(-2\), 2}, \ AspectRatio \[Rule] 1, \ ViewPoint -> {2.318, \ \(-2.360\), \ 0.713}];\)\[IndentingNewLine] \(plane2 = Plot3D[3 x\ + \ y\ , \ {x, \ \(-3\), 3}, \ {y, \(-3\), 3}, \ PlotRange \[Rule] {\(-3\), 3}, \ AspectRatio \[Rule] 1, \ ViewPoint -> {\(-1\), 1, 1}];\)\[IndentingNewLine] Show[{plane1, \ plane2}]\)\)\)], "Input"], Cell[TextData[{ StyleBox["Question 5:", FontWeight->"Bold"], " Use ", StyleBox["Mathematica", FontSlant->"Italic"], " to figure out the angle between these two planes. Yes, there are two \ different angles you could get as your answer; either will be accepted. ", StyleBox["Hint:", FontWeight->"Bold"], " use normal vectors and the dot product!" }], "Text", FontSize->14, FontColor->RGBColor[1, 0, 0]], Cell[BoxData[ \(\[IndentingNewLine]\)], "Input"], Cell[TextData[{ StyleBox["Now that you're done, ", FontSize->18], "\n\t(1) \t", StyleBox["Clean up your work", FontWeight->"Bold"], " by deleting everything that's not needed. \n\t\tThere should only be the \ title, your names, section number, and the questions and your answers\n\t\t\ (with any needed explanations, graphs, etc.).\n\t(2) \tSave this to your \ disk.\n\t(3)\tGo back to Blackboard and upload your final lab report to the \ ", StyleBox["Digital Drop Box", FontWeight->"Bold"], ", located\n\t\tin the ", StyleBox["User Tools", FontWeight->"Bold"], " area. Remember that you have to first ", StyleBox["ADD", FontWeight->"Bold"], " your file to your digital drop box and \n\t\tthen ", StyleBox["SEND it to me!", FontWeight->"Bold"] }], "Text", CellFrame->{{0, 0}, {0, 2}}, FontSize->12] }, Open ]] }, FrontEndVersion->"4.2 for Macintosh", ScreenRectangle->{{0, 750}, {0, 578}}, AutoGeneratedPackage->None, WindowToolbars->"EditBar", WindowSize->{653, 542}, WindowMargins->{{19, Automatic}, {Automatic, 1}} ] (******************************************************************* Cached data follows. If you edit this Notebook file directly, not using Mathematica, you must remove the line containing CacheID at the top of the file. The cache data will then be recreated when you save this file from within Mathematica. *******************************************************************) (*CellTagsOutline CellTagsIndex->{} *) (*CellTagsIndex CellTagsIndex->{} *) (*NotebookFileOutline Notebook[{ Cell[1754, 51, 5116, 96, 19, "Input", CellOpen->False, InitializationCell->True], Cell[6873, 149, 483, 15, 155, "Text"], Cell[7359, 166, 177, 5, 68, "Text"], Cell[7539, 173, 84, 1, 32, "Text"], Cell[7626, 176, 658, 22, 134, "Text"], Cell[8287, 200, 51, 1, 27, "Input"], Cell[8341, 203, 273, 9, 34, "Text"], Cell[CellGroupData[{ Cell[8639, 216, 109, 2, 66, "Subtitle"], Cell[8751, 220, 965, 30, 134, "Text"], Cell[9719, 252, 168, 3, 75, "Input"], Cell[9890, 257, 1105, 26, 234, "Text"], Cell[10998, 285, 410, 9, 91, "Input"], Cell[11411, 296, 421, 13, 54, "Text"], Cell[11835, 311, 52, 1, 43, "Input"], Cell[11890, 314, 607, 20, 74, "Text"], Cell[12500, 336, 646, 19, 94, "Text"], Cell[13149, 357, 52, 1, 43, "Input"], Cell[13204, 360, 668, 20, 114, "Text"], Cell[CellGroupData[{ Cell[13897, 384, 834, 16, 19, "Input", CellOpen->False], Cell[14734, 402, 19916, 472, 296, 7510, 314, "GraphicsData", "PostScript", \ "Graphics"] }, Open ]], Cell[34665, 877, 422, 11, 94, "Text"], Cell[35090, 890, 52, 1, 43, "Input"] }, Open ]], Cell[CellGroupData[{ Cell[35179, 896, 115, 2, 66, "Subtitle"], Cell[35297, 900, 598, 18, 114, "Text"], Cell[35898, 920, 278, 4, 59, "Input"], Cell[36179, 926, 649, 22, 114, "Text"], Cell[36831, 950, 299, 6, 91, "Input"], Cell[37133, 958, 865, 27, 174, "Text"], Cell[38001, 987, 267, 5, 91, "Input"], Cell[38271, 994, 175, 5, 34, "Text"], Cell[38449, 1001, 260, 7, 54, "Text"], Cell[38712, 1010, 52, 1, 43, "Input"], Cell[38767, 1013, 170, 6, 34, "Text"], Cell[38940, 1021, 555, 9, 107, "Input"], Cell[39498, 1032, 431, 13, 54, "Text"], Cell[39932, 1047, 52, 1, 43, "Input"], Cell[39987, 1050, 850, 24, 174, "Text"] }, Open ]] } ] *) (******************************************************************* End of Mathematica Notebook file. *******************************************************************)