(************** Content-type: application/mathematica ************** CreatedBy='Mathematica 5.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[ 25528, 928]*) (*NotebookOutlinePosition[ 55147, 1879]*) (* CellTagsIndexPosition[ 55103, 1875]*) (*WindowFrame->Normal*) Notebook[{ Cell[CellGroupData[{ Cell["Notebook 19", "Title"], Cell[CellGroupData[{ Cell["N19.0", "Section"], Cell[TextData[{ "The aim of this notebook is to study principal curves, spot umbilic points \ and construct triply orthogonal systems. We base our investigation on some \ standard surfaces loaded in ", StyleBox["N19.0.1,", FontFamily->"Verdana"], " though we shall also need the ", StyleBox["nephroid", FontSlant->"Italic"], ", which is a special case of the following curve defined in ", StyleBox["N5.5.", FontFamily->"Verdana"] }], "Text"], Cell["\<\ epicycloid[a_,b_][t_]:= {(a+b)Cos[t]-b Cos[((a+b)/b) t], (a+b) Sin[t]-b Sin[((a+b)/b) t]}\ \>", "Definition", PageWidth->PaperWidth], Cell["nephroid[a_][t_]:= a epicycloid[2,1][t]", "Definition", PageWidth->PaperWidth], Cell["nephroid[1][t]", "Input"], Cell[TextData[{ "We shall use the parametrization, first introduced in ", StyleBox["N15.1,", FontFamily->"Verdana"], " of the surface formed by revolving a curve \[Alpha] around the ", StyleBox["z", FontFamily->"Verdana"], "-axis. " }], "Text"], Cell["\<\ surfrev[\[Alpha]_][u_,v_]:= {Cos[u]\[Alpha][v][[1]], Sin[u]\[Alpha][v][[1]], \ \[Alpha][v][[2]]}\ \>", "Definition"], Cell[TextData[{ "Because most of the 3-dimensional plots in this notebook are colored \ manually, we include ", StyleBox["Lighting->False", FontFamily->"Verdana"], " as a default option." }], "Text"], Cell["\<\ SetOptions[ParametricPlot3D, Compiled->False, Axes->None, BoxRatios->Automatic, Boxed->False, Lighting->False ]\ \>", "Package"], Cell["<"Verdana"], " package enables one to use alphabetical names for coloring. Subsection \ ", StyleBox["N19.0.1", FontFamily->"Verdana"], " includes some surface definitions and the programs ", StyleBox["gcurv, mcurv.", FontFamily->"Verdana"] }], "Text"], Cell[CellGroupData[{ Cell["N19.0.1", "Subsection"], Cell["We need", "Text"], Cell["\<\ Unprotect[L]; L[v_]:= Sqrt[v.v]//Simplify Protect[L];\ \>", "Definition", FontVariations->{"CompatibilityType"->0}], Cell["\<\ paraboloid[a_,b_][u_,v_]:= {u, v, a u^2 + b v^2} sphere[a_][u_,v_]:= a{Cos[v]Cos[u], Cos[v]Sin[u], Sin[v]} circularcylinder[a_][u_,v_]:= {a Cos[u], a Sin[u], v} circularcone[a_,b_][u_,v_]:={a v Cos[u],a v Sin[u],b v}\ \>", "Definition"], Cell["\<\ ellipsoid[a_,b_,c_][u_,v_] := {a Cos[v]Cos[u],b Cos[v] Sin [u], c Sin [v]} catenoid[c_][u_,v_]:={c Cos[u] Cosh[v/c], c Sin[u] Cosh[v/c],v}\ \>", "Definition"], Cell["Here are some standard options:", "Text"], Cell["\<\ SetOptions[ParametricPlot, AspectRatio->Automatic, Axes->None, Compiled->False ];\ \>", "Package"], Cell[TextData[{ StyleBox["$DisplayFunction= Identity;", CellFrame->True, InitializationCell->True], "\n", StyleBox["Unprotect[S];\n S", CellFrame->True, InitializationCell->True], "[X__]:= Show[X, DisplayFunction->(Display[$Display,#]&)]\nProtect[S];" }], "Package"], Cell["Miniprograms for the Gaussian and mean curvatures:", "Text"], Cell[TextData[StyleBox["gcurv[x_][u_,v_]:= \n\ Module[{xu,xv,xuu,xuv,xvv,U,V,A,B},\n xu= D[x[U,V],U]; \n xv= \ D[x[U,V],V];\n xuu= D[x[U,V],U,U];\n xuv= D[x[U,V],U,V];\n xvv= \ D[x[U,V],V,V];\n B= Det[{xuu,xu,xv}]Det[{xvv,xu,xv}] - Det[{xuv,xu,xv}]^2;\n\ A= (xu.xu)(xv.xv)-(xu.xv)^2; \n Simplify[B/A^2]/.{U->u,V->v}\n ]", FontFamily->"Verdana", Background->None]], "Miniprogram"], Cell[TextData[StyleBox["mcurv[x_][u_,v_]:= \n\ Module[{xu,xv,xuu,xuv,xvv,U,V,A,B},\n xu= D[x[U,V],U]; \n xv= \ D[x[U,V],V];\n xuu= D[x[U,V],U,U];\n xuv= D[x[U,V],U,V];\n xvv= \ D[x[U,V],V,V];\n B= Det[{xuu,xu,xv}](xv.xv)-2Det[{xuv,xu,xv}](xu.xv)+\n \ Det[{xvv,xu,xv}](xu.xu);\n A= (xu.xu)(xv.xv)-(xu.xv)^2; \n \ Simplify[B/(2A^(3/2))]/.{U->u,V->v}\n]", FontFamily->"Verdana", Background->None]], "Miniprogram"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["N19.1", "Section"], Cell["\<\ We first reparametrize the helicoid manually, so that its coordinate curves \ are lines of curvature:\ \>", "Text"], Cell["\<\ helicoidprin[b_][p_,q_]:= {b Cos[p+q]Sinh[q-p], b Sin[p+q]Sinh[q-p], b(p+q)}\ \>", "Definition"], Cell["\<\ hel:= helicoidprin[1] hlp:= ParametricPlot3D[hel[p,q], {p,-2\[Pi],2\[Pi]}, {q,-2\[Pi],2\[Pi]}, PlotPoints->{80,80}, PlotRange->All, Lighting->True]; hlp\ \>", "Input"], Cell[TextData[{ "At this point, one encounters a graphics problem that arises often. The \ figure is too squashed because the polygons from which it is formed have \ vertices too far apart. To improve the plot, we can manually give \ instructions to consider only those polygons with vertices less than a \ certain distance apart. This is the aim of the customized program", StyleBox[" selectgraphics3d", FontFamily->"Verdana"], ", which we shall use again in the sequel. " }], "Text"], Cell["\<\ selectgraphics3d[obj_,b_,opts___]:= Show[Graphics3D[Select[obj, Abs[#[[1,1,1]]]", "Definition"], Cell[TextData[{ "Figure 19.1 sets the maximum distance at 5 units. Subsequent plots use \ different values; with the factory settings in ", StyleBox["N19.0.1,", FontFamily->"Verdana"], " they will only be displayed after insertion of", StyleBox[" S@ ", FontFamily->"Verdana"], "at the start of each line." }], "Text"], Cell["S @ selectgraphics3d[hlp[[1]], 5]", "NumberedFigure"], Cell["selectgraphics3d[hlp[[1]], 10]", "Input"], Cell["selectgraphics3d[hlp[[1]], 3]", "Input"] }, Closed]], Cell[CellGroupData[{ Cell["N19.2", "Section"], Cell[TextData[{ "The next command could have been derived using ", StyleBox["paraboloid ", FontFamily->"Verdana"], "from ", StyleBox["N19.0,", FontFamily->"Verdana"], " though we include it for the sake of completeness." }], "Text"], Cell["ellipticparaboloid[a_,b_][u_,v_]:= {u, v, u^2/a^2+v^2/b^2}", \ "Definition"], Cell[TextData[{ "In the examples below, we shall take ", StyleBox["a=3/2 ", FontFamily->"Verdana"], "and ", StyleBox["b=1:", FontFamily->"Verdana"] }], "Text"], Cell["\<\ ellipticparaboloid[3/2,1][u,v] ep:= paraboloid[4/9,1] ep[u,v]\ \>", "Input"], Cell[TextData[{ "Umbilic points are characterized by the vanishing of ", Cell[BoxData[ \(TraditionalForm\`\[Delta] = H\^2 - \(\(K\)\(.\)\)\)]], StyleBox[" ", FontFamily->"Verdana"], "This quantity is always nonnegative on a surface (because the arithmetric \ mean of two positive numbers is no less than their geometric mean). In \ certain cases, umbilic points can be visualized by coloring a surface using", StyleBox[" \[Delta]", FontFamily->"Verdana"], ", which it is convenient to define formally", StyleBox[":", FontFamily->"Verdana"] }], "Text"], Cell["\<\ umbilic[x_][u_,v_]:= mcurv[x][u,v]^2 - gcurv[x][u,v] // Simplify\ \>", "Definition"], Cell["\[Delta]= umbilic[ep][u,v]", "Input"], Cell["\<\ r:= 1 h:= If[\[Delta]<.001, 0, .5] ParametricPlot3D[Append[ep[u,v], Hue[h]], {u,-r,r}, {v,-r,r}, ViewPoint->{1,1,3}, PlotPoints->30]\ \>", "Input"], Cell[TextData[{ "In practice ", StyleBox["Mathematica", FontSlant->"Italic"], " cannot distinguish between real and complex values of ", StyleBox["u,v", FontFamily->"Verdana"], ", so the vanishing of \[Delta] merely defines a complex curve in the \ complex ", StyleBox["uv", FontFamily->"Verdana"], "-plane:" }], "Text"], Cell["Solve[\[Delta]==0]", "Input"], Cell[TextData[{ "Each of the quantities under a square root sign in the output is \ nonpositive, and the value of", StyleBox[" v", FontFamily->"Verdana"], " for which it is ", StyleBox["zero", FontSlant->"Italic"], " gives the umbilic points. A quicker way to find the umbilic points is to \ throw in one of the derivatives of", StyleBox[" \[Delta]", FontFamily->"Verdana"], " and set this to zero. For the function \[Delta] has an absolute minimum \ of ", StyleBox["0 ", FontFamily->"Verdana"], "on the surface, and its partial derivatives (computed in the real \ directions of the surface) must vanish." }], "Text"], Cell["Solve[{\[Delta]==0, D[\[Delta],v]==0}]", "Input"], Cell["\<\ This time, the output shows more clearly that there are two real solutions, \ and their position is consistent with the plot after the definition of \ \[Delta] above:\ \>", "Text"], Cell["\<\ r:= 1 a:= Sqrt[5]/4 k:= {0,0,.01} pts:= {PointSize[.03], Point[ep[0,a]+k], Point[ep[0,-a]+k]}//Graphics3D pa:= ParametricPlot3D[ep[u,v], {u,-r,r}, {v,-r,r}, ViewPoint->{1,1,3}, PlotPoints->30, Lighting->True] S[pa,pts] Clear[a]\ \>", "NumberedFigure"], Cell["\<\ The calculation below shows that the upper half of a ellipsoid without any \ extra symmetry has two umbilic points. Thus, the entire ellipsoid will have \ four.\ \>", "Text"], Cell["\<\ r:= 2 k:= {0,0,.01} x[u_,v_]:= {u, v, Sqrt[1 - u^2/2 - v^2/4]} Solve[{umbilic[x][u,v]==0, D[umbilic[x][u,v], u]==0}]\ \>", "Input"], Cell[TextData[{ "Next is the hyperboloid of one sheet. The real values of ", StyleBox["u,v", FontFamily->"Verdana"], " giving solutions do not correspond to real points on the surface as the \ square root is negative. Thus, there are no umbilic pionts. " }], "Text"], Cell["\<\ y[u_,v_]:= {u, v, Sqrt[u^2/2 + v^2/4 - 1]} Solve[{umbilic[y][u,v]==0, D[umbilic[y][u,v], u]==0}]\ \>", "Input"], Cell[TextData[{ "Here are four umbilic points on a paraboloid-type surface. They are \ plotted automatically by finding all the solutions which become the \ coordinates of ", StyleBox["Point.", FontFamily->"Verdana"], " Replace ", StyleBox["Show ", FontFamily->"Verdana"], "by ", StyleBox["S ", FontFamily->"Verdana"], "in the last line", "; the complex points give error messages which are suppressed. " }], "Text"], Cell["\<\ Off[Graphics3D::nlist3] r:= 1 k:={0,0,.1} x[u_,v_]:={u, v, 1 - u^4 - v^2} so:= Solve[{umbilic[x][u,v]==0, D[umbilic[x][u,v],u]==0}] pts:= {PointSize[.03], Point/@(x@@{u,v}/.so)}//Graphics3D pa:= ParametricPlot3D[x[u,v], {u,-r,r}, {v,-r,r}, ViewPoint->{1,1,3}, Shading->False, PlotPoints->30] S[pa, pts]\ \>", "Input"] }, Closed]], Cell[CellGroupData[{ Cell["N19.5", "Section"], Cell["\<\ The following commands allow us to plot three examples of triply orthogonal \ systems. The first parametrizes the plane that passes through the origin and \ the two chosen points, and the second specifies three mutually orthogonal \ planes, each with a specified color as fourth coordinate. \ \>", "Text"], Cell["\<\ plane[a1_,a2_,b1_,b2_,c1_,c2_][u_,v_]:= {a1 u + a2 v, b1 u + b2 v, c1 u + c2 v}\ \>", "Definition"], Cell["\<\ pla= { Table[Append[plane[1,0,0,1,0,0][u,v] + {0,0,z}, Red], {z,-.5, .5, .5}], Table[Append[plane[1,0,0,0,0,1][u,v] + {0,y,0}, Yellow], {y,-.5, .5, .5}], Table[Append[plane[0,0,1,0,0,1][u,v] + {x,0,0}, Green], {x,-.5, .5, .5}] }\ \>", "Input"], Cell["\<\ ta:= Flatten[pla,1] S @ ParametricPlot3D[ta//Evaluate, {u,-1,1}, {v,-1,1}, PlotPoints->{5,5}]\ \>", "NumberedFigure"], Cell[TextData[{ "The next figures apply the same technique, though each family of surfaces \ is defined and colored separately. Patches for a cylinder and cone were \ loaded in ", StyleBox["N19.0.1. ", FontFamily->"Verdana"] }], "Text"], Cell["\<\ t[1]:= Table[Append[plane[Cos[t],0,Sin[t],0,0,1][u,v], Red], {t,0,\[Pi],\[Pi]/4}] t[2]:= Table[Append[plane[1,0,0,1,0,0][u,v]+{0,0,h}, Yellow], {h,-.5,.5,.5}] t[3]:= Table[Append[circularcylinder[a][u,v], Green], {a,.25,.75,.25}] z[i_, a_,b_,A_]:= ParametricPlot3D[Evaluate[t[i]], {u,a,b}, {v,-1,1}, PlotPoints->A] S @ {z[1,-1,1,2], z[2,-1,1,5], z[3,0,2\[Pi],{17,2}]}\ \>", "NumberedFigure"], Cell["\<\ Clear[z] t[1]:= Table[Append[plane[Cos[t],0,Sin[t],0,0,1][u,v], Red], {t, \[Pi]/6, 5\[Pi]/12, \[Pi]/4}] t[2]:= Table[Append[circularcone[Cos[\[Phi]],Sin[\[Phi]]][u,v], Yellow], {\[Phi], \[Pi]/8, 3\[Pi]/8, \[Pi]/8}] t[3]:= Table[Append[sphere[a][\[Theta],\[Phi]],Green], {a,.25,1,.25}] z[i_, X__]:= ParametricPlot3D[Evaluate[t[i]], X] S @ {z[1, {u,-1,1}, {v,-1,1}, PlotPoints->2], z[2, {u,0,3\[Pi]/2},{v,-1.2,1.2}, PlotPoints->{22,5}], z[3, {\[Theta],0,3\[Pi]/2},{\[Phi],-\[Pi]/2, \[Pi]/2}, \ PlotPoints->{19,11}]}\ \>", "NumberedFigure"] }, Closed]], Cell[CellGroupData[{ Cell["N19.6", "Section"], Cell[TextData[{ "To make use of elliptic coordinates in ", StyleBox["Mathematica,", FontSlant->"Italic"], " we need a function that defines each of the three triply orthogonal \ surfaces, and also allows for the choice of signs. This is accomplished by" }], "Text", TextJustification->1], Cell["\<\ ellipticcoor[d_,e_,f_][a_,b_,c_][w_][u_,v_]:= {d Sqrt[(a-u)(a-v)(a-w)/((a-b)(a-c))], e Sqrt[(b-u)(b-v)(b-w)/((b-a)(b-c))], f Sqrt[(c-u)(c-v)(c-w)/((c-a)(c-b))]}\ \>", "Definition"], Cell["ellipticcoor[1,1,1][12,5,1][a][u,v]", "Input"], Cell["\<\ The following command will be used to combine eight different patches.\ \>", "Text", TextJustification->1], Cell["\<\ octants[x_]:= Module[{w}, w= {0,0,-3}; {x[1,1,1], x[-1,1,1], x[1,-1,1], x[-1,-1,1], x[1,1,-1]+w, x[-1,1,-1]+w, x[1,-1,-1]+w, x[-1,-1,-1]+w} ]\ \>", "Miniprogram"], Cell["\<\ Module[{x,xx}, x[d_,e_,f_]= ellipticcoor[d,e,f][12,5,1][0][u,v]; xx= octants[x]; S @ ParametricPlot3D[xx//Evaluate, {u,1,5}, {v,5,12}, PlotPoints->{10,20}, ViewPoint->{2.7,2.7,4.2}, Boxed->True, Lighting->True] ]\ \>", "NumberedFigure"], Cell[CellGroupData[{ Cell["N19.6.1", "Subsection"], Cell["\<\ Here are the cells needed to plot the remaining figures in Section 19.6.\ \>", "Text"], Cell["\<\ oct[x_]:= Flatten[Table[x[l,m,n], {l,-1,1,2},{m,-1,1,2}, {n,-1,1,2}], 2];\ \>", "Definition"], Cell["\<\ ellipticplot[a_,col_][p_,q_,r_,s_]:= Module[{x,hi,xx}, x[d_,e_,f_]= ellipticcoor[d,e,f][12,5,1][a][u,v]; hi[x_]:= Append[x, FaceForm[col]]; xx:= hi/@oct[x]; ParametricPlot3D[xx//Evaluate, {u,p,q},{v,r,s}, PlotPoints->{10,20}, Lighting->False] ]; \ \>", "Definition"], Cell["\<\ S[ellipticplot[3, Yellow][-15,1,5,12], Boxed->True, ViewPoint->{2.7,2.7,4.2}];\ \>", "NumberedFigure"], Cell["\<\ S[ellipticplot[8, Green][-15,1,1,5], Boxed->True, ViewPoint->{1.5, -3, .7}];\ \>", "NumberedFigure"], Cell["\<\ S[ellipticplot[-1,Red][1,5,5,12], ellipticplot[3,Yellow][-15,1,5,12], ellipticplot[8, Green][-15,1,1,5]];\ \>", "NumberedFigure"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["N19.7", "Section"], Cell[TextData[StyleBox["Here are analogous definitions for parabolic \ coordinates and their combined patches:", FontColor->GrayLevel[0]]], "Text", FontColor->RGBColor[1, 0, 0]], Cell["\<\ paraboliccoor[d_,e_,f_][a_,b_,c_][w_][u_,v_]:= {d Sqrt[(a-u)(a-v)(a-w)/(b-a)], e Sqrt[(b-u)(b-v)(b-w)/(a-b)], f(c-a-b+u+v+w)/2}\ \>", "Definition", FontFamily->"Verdana"], Cell["\<\ octdown[x_]:= Flatten[Table[x[l,m,1], {l,-1,1,2}, {m,-1,1,2}], 1];\ \>", "Definition"], Cell["\<\ parabolicplot[a_,col_,opts___][p_,q_,r_,s_]:= Module[{x,hi,xx}, x[d_,e_,f_]= paraboliccoor[d,e,f][2,1,3][a][u,v]; hi[x_]:= Append[x, FaceForm[col]]; xx:= hi/@octdown[x]; ParametricPlot3D[xx//Evaluate, {u,p,q}, {v,r,s}, PlotPoints->{16,8}, Lighting->False, opts] ]\ \>", "Miniprogram"], Cell["parabolicplot[4, Red][-9,1,1,2];", "Input"], Cell["\<\ S[parabolicplot[4, Red, ViewPoint->{.8,-1.8,2.8}][-9,1,1,2], parabolicplot[1.5, Green][-9,1,2,12], parabolicplot[-3, Yellow][1,2,2,12]]\ \>", "NumberedFigure", FontFamily->"Verdana"], Cell[TextData[StyleBox["The following cells back up the equations leading to \ Definition 19.27.", FontColor->GrayLevel[0]]], "Text", FontColor->RGBColor[1, 0, 0]], Cell["\<\ A= (u-\[Lambda])(v-\[Lambda])(w-\[Lambda]) - (a-\[Lambda])(b-\[Lambda])(2Z-c-\ \[Lambda]) + X(b-\[Lambda]) + Y(a-\[Lambda])\ \>", "Input", FontFamily->"Verdana"], Cell["\<\ Solve[(A/.\[Lambda]->a)==0, X] Solve[(A/.\[Lambda]->b)==0, Y]\ \>", "Input", FontFamily->"Verdana"], Cell["\<\ su:= {X->-(a-u)(a-v)(-a+w)/(-a+b), Y->-(b-u)(b-v)(-b+w)/(a-b)} AA= A/.su//Simplify\ \>", "Input", FontFamily->"Verdana"], Cell["\<\ Solve[AA==0, Z] A/.Z->(-a-b+c+u+v+w)/2 /.su //Simplify\ \>", "Input", FontFamily->"Verdana"], Cell["\<\ The next example of a triply orthogonal system is manufactured in stages from \ planes and parallel surfaces to a catenoid.\ \>", "Text"], Cell["\<\ xx[t_]:= Append[plane[Cos[t],0,Sin[t],0,0,1][u,v], Cyan] yy1:= Table[xx[t], {t,-\[Pi]/2,0,\[Pi]/2}] zz1:= ParametricPlot3D[yy1//Evaluate, {u,-3,0}, {v,-3,3}, PlotPoints->3]\ \>", "Input"], Cell["\<\ yy2:= Append[parallelsurf[catenoid[1], s][u,1], Purple] zz2:= ParametricPlot3D[yy2, {u,0,3\[Pi]/2}, {s,-2.3811,2}, Lighting->False, PlotPoints->{21,11}]\ \>", "Input"], Cell["\<\ yy3:= Append[catenoid[1][u,v], Orange] zz3:= ParametricPlot3D[yy3, {u,0,3\[Pi]/2},{v,-1.7,1.7}, PlotPoints->{21,11}]\ \>", "Input"], Cell["Show[zz1, zz2, zz3];", "Input"], Cell["\<\ The next cell combines parabolic coordinate patches with color functions in \ each of the four upper octants, to form the right-hand half of Figure \ 19.11.\ \>", "Text"], Cell["\<\ upplot:= Module[{h,k,x,xx}, h= FaceForm[Hue[(u+9)/10], Hue[v-1]]; k= FaceForm[Hue[v-1], Hue[(u+9)/10]]; x[d_,e_,f_]= paraboliccoor[d,e,f][2,1,3][4][u,v]; xx= {Append[x[1,1,1], h], Append[x[-1,-1,1], h], Append[x[-1,1,1], k], Append[x[1,-1,1], k]}; ParametricPlot3D[xx//Evaluate, {u,-9,1}, {v,1,2}, PlotPoints->{16,16}] ]\ \>", "Input", FontFamily->"Verdana"], Cell["\<\ downplot:= Module[{h,k,x,xx}, h= FaceForm[Hue[u-1], Hue[(v-1)/10]]; k= FaceForm[Hue[(v-1)/10], Hue[u-1]]; x[d_,e_,f_]= paraboliccoor[d,e,f][2,1,3][-3][u,v]; xx= {Append[x[1,1,1], h], Append[x[-1,-1,1], h], Append[x[-1,1,1], k], Append[x[1,-1,1], k]}; ParametricPlot3D[xx//Evaluate, {u,1,2},{v,2,15}, PlotPoints->{12,12}, PlotRange->{0,10}] ] S @ GraphicsArray[{downplot, upplot}, GraphicsSpacing->-.1]\ \>", "NumberedFigure", FontFamily->"Verdana"], Cell[CellGroupData[{ Cell["N19.7.1", "Subsection", FontFamily->"Verdana"], Cell["\<\ saddleplot= Module[{h,k,x,xx}, h= FaceForm[Hue[(u+9)/10], Hue[v-1]]; k= FaceForm[Hue[v-1], Hue[(u+9)/10]]; x[d_,e_,f_]= paraboliccoor[d,e,f][2,1,3][1.5][u,v]; xx= {Append[x[1,1,1], h], Append[x[-1,-1,1], h], Append[x[-1,1,1], k], Append[x[1,-1,1], k]}; S @ ParametricPlot3D[xx//Evaluate, {u,-9,1},{v,2,12}, PlotPoints->16] ];\ \>", "NumberedFigure", FontFamily->"Verdana"], Cell["\<\ Module[{\[Alpha],x,p,y,z}, \[Alpha]= nephroid[1.2]; x= surfrev[\[Alpha]]; p[t_]= Append[plane[Cos[t],0,Sin[t],0,0,1][u,v], Yellow]; y[1]= Table[p[t], {t,-\[Pi]/2, \[Pi]/4, \[Pi]/4}]; z[1]= ParametricPlot3D[y[1]//Evaluate, {u,-4,0}, {v,-4,4}, PlotPoints->2]; y[2]= Table[Append[parallelsurf[x, s][u,v], Hue[.4+s]], {s,-.4,.4,.8}]; z[2]= ParametricPlot3D[y[2]//Evaluate, \ {u,0,3\[Pi]/2},{v,-\[Pi]/2,\[Pi]/2}, PlotPoints->{13,30}]; y[3]= Table[Append[parallelsurf[x, s][u,v], Hue[.3+v/5]], {v,-.5,.5,1}]; z[3]= ParametricPlot3D[y[3]//Evaluate, {u,0,3\[Pi]/2}, {s,-2,4}, PlotPoints->{21,11}]; S @ Array[z,3] ];\ \>", "NumberedFigure"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["N19.8", "Section"], Cell["\<\ The next program gives us a patch that we use to plot parallel surfaces to \ ellipsoids and catenoids.\ \>", "Text"], Cell["\<\ parallelsurf[x_,r_][u_,v_]:= Module[{xu,xv,n}, xu=D[x[uu,vv],uu]; xv=D[x[uu,vv],vv]; n[1]= Cross[xu,xv]//Simplify; n[2]= Factor[n[1].n[1]]//Simplify; n[3]= PowerExpand[Sqrt[n[2]]]; n[4]= n[1]/n[3]; Together[x[uu,vv]+r n[4]]/.{uu->u,vv->v}//Simplify ]\ \>", "Miniprogram", FontFamily->"Verdana"], Cell["\<\ parallelsurf[ellipsoid[a,b,c],t][u,v]//FullSimplify//PowerExpand\ \>", "Input"], Cell["\<\ Clear[x] ell:= ellipsoid[3/2,3/2,1] x:= parallelsurf[ell, .9] S @ ParametricPlot3D[x[u,v]//Evaluate, {u,0,\[Pi]},{v,-\[Pi]/2,\[Pi]/2}, PlotPoints->{20,35}, Lighting->True]\ \>", "NumberedFigure"], Cell["parallelsurf[catenoid[a],t][u,v]//PowerExpand", "Input"], Cell["\<\ Module[{y}, y[0]= catenoid[1]; y[-1]= parallelsurf[y[0], -.8]; y[1]= parallelsurf[y[0], .8]; S @ ParametricPlot3D[Table[y[i][u,v], {i,-1,1}]//Evaluate, {u,0,3\[Pi]/2}, {v,-1.5,1.5}, PlotPoints->{40,40}, Lighting->True] ]\ \>", "NumberedFigure"], Cell[CellGroupData[{ Cell["N19.9.1", "Subsection"], Cell["\<\ condis[x_][u_,v_]:= Module[{un, pr}, un= unitnormal[x]; pr[y_]:= {y[[1]], y[[2]], 0}; L[pr[x[u,v]]]/L[pr[un[u,v]]] ];\ \>", "Miniprogram"], Cell["\<\ x:= surfrev[nephroid[1]] condis[x][u,-.4]//N//Simplify\ \>", "Input"], Cell["Table[Simplify[N[condis[catenoid[1]][u,v]]],{v,-1,1,1/2}]", "Input"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["N19.10", "Section"], Cell[TextData[{ "A completely equivalent definition of the command ", StyleBox["ellipticcoor", FontFamily->"Verdana"], " from N19.6 is given in the next cell, though the presence of parentheses \ allows us to distinguish the two definitions and check that their difference \ is zero." }], "Text"], Cell["\<\ ellipticcoor[{d,e,f}_][{a,b,c}_][w_][u_,v_]= Module[{F}, F[x_,s_]= Sqrt[(x-u)(x-v)(x-w)/s]; {d F[a,(a-b)(a-c)], e F[b,(b-a)(b-c)], f F[c,(c-a)(c-b)]} ]\ \>", "Input"], Cell["% - ellipticcoor[d,e,f][a,b,c][w][u,v]", "Input"], Cell[TextData[{ "The following miniprogram has the same functionality as Maeder's ", StyleBox["CartesianMap", FontFamily->"Verdana"], " and ", StyleBox["PolarMap ", FontFamily->"Verdana"], "(see [Ma]), but draws curved instead of straight lines. It plots the \ images of horizontal and vertical lines under ", StyleBox["F.", FontFamily->"Verdana"] }], "Text", TextJustification->1], Cell["\<\ plotpatch2d[F_, {x_,x1_,x2_}, {y_,y1_,y2_}, {nx_,ny_}]:= Module[{t1,t2,z1,z2}, reim[A_]:= ComplexExpand[{Re[A], Im[A]}]; t1= Table[reim[F], {y, y1, y2, (y2-y1)/(ny-1)}]; t2= Table[reim[F], {x, x1, x2, (x2-x1)/(nx-1)}]; z1= ParametricPlot[t1//Evaluate, {x,x1,x2}, PlotPoints->nx]; z2= ParametricPlot[t2//Evaluate, {y,y1,y2}, PlotPoints->ny]; {z1, z2} ]\ \>", "Miniprogram", FontFamily->"Verdana"], Cell[TextData[{ "Exercise 13 suggests replacing ", StyleBox["Tan", FontFamily->"Verdana"], " by ", StyleBox["Cos", FontFamily->"Verdana"], " or ", StyleBox["Log", FontFamily->"Verdana"], " in the plot" }], "Text"], Cell["S @ plotpatch2d[Tan[x+I y], {x,-1,1}, {y,-1,1}, {12,18}]", \ "NumberedFigure", FontFamily->"Verdana"], Cell[TextData[{ "The final subsection contains a 3-dimensional version of ", StyleBox["plotpatch2d", FontFamily->"Verdana"], " that is used to draw Figure 19.17. " }], "Text"], Cell[CellGroupData[{ Cell["N19.10.1", "Subsection"], Cell["\<\ plotpatch3d[f_, w_, {u1_,u2_}, {v1_,v2_}, {v3_,v4_}, opts___]:= Module[{g,h,x,xx}, g[v_]= f[v + I w]; h[v_]= f[w + I v]; x[u_,v_,k_]:= {Cos[u]Re[k[v]], Sin[u]Re[k[v]], Im[k[v]]}; {ParametricPlot3D[x[u, v, g], {u,u1,u2}, {v,v1,v2}, opts], ParametricPlot3D[x[u, v, h], {u,u1,u2}, {v,v3,v4}, opts]} ];\ \>", "Miniprogram", FontFamily->"Verdana"], Cell["\<\ S[plotpatch3d[Sin, .8, {0,3\[Pi]/2}, {0,\[Pi]}, {-1.1,1.1}, PlotPoints->{30,30}], Lighting->True];\ \>", "NumberedFigure", FontFamily->"Verdana"] }, Closed]] }, Closed]] }, Open ]] }, FrontEndVersion->"5.2 for Microsoft Windows", ScreenRectangle->{{0, 1280}, {0, 717}}, AutoGeneratedPackage->None, WindowSize->{1000, 651}, WindowMargins->{{Automatic, 128}, {Automatic, 7}}, PrintingCopies->1, PrintingStartingPageNumber->628, PrintingPageRange->{Automatic, Automatic}, PageHeaders->{{ Inherited, Inherited, Cell[ "NOTEBOOK 19", FontSlant -> Italic]}, { Cell[ "NOTEBOOK 19", FontSlant -> Italic], Inherited, Inherited}}, PrintingOptions->{"FirstPageFace"->Left}, ShowSelection->True, StyleDefinitions -> Notebook[{ Cell[CellGroupData[{ Cell["Style Definitions", "Subtitle", PageWidth->PaperWidth], Cell["\<\ Modify the definitions below to change the default appearance of all cells in \ a given style. Make modifications to any definition using commands in the Format menu.\ \>", "Text", PageWidth->PaperWidth], Cell[CellGroupData[{ Cell["Style Environment Names", "Section", PageWidth->PaperWidth], Cell[StyleData[All, "Working"], PageWidth->PaperWidth, CellBracketOptions->{"Color"->RGBColor[0.771908, 0.399634, 0.262867]}, ScriptMinSize->9], Cell[StyleData[All, "Printout"], PageWidth->PaperWidth, PrivateFontOptions->{"FontType"->"Outline"}] }, Open ]], Cell[CellGroupData[{ Cell["Notebook Options", "Section", PageWidth->PaperWidth], Cell["\<\ The options defined for the style below will be used at the Notebook level.\ \>", "Text", PageWidth->PaperWidth], Cell[StyleData["Notebook"], PageWidth->PaperWidth, CellFrameLabelMargins->6, StyleMenuListing->None] }, Closed]], Cell[CellGroupData[{ Cell["Styles for Headings", "Section", PageWidth->PaperWidth], Cell[CellGroupData[{ Cell[StyleData["Title"], PageWidth->PaperWidth, CellMargins->{{36, 20}, {0, 10}}, CellGroupingRules->{"TitleGrouping", 0}, PageBreakBelow->False, CellFrameMargins->{{100, 4}, {8, 10}}, InputAutoReplacements->{"TeX"->StyleBox[ RowBox[ {"T", AdjustmentBox[ "E", BoxMargins -> {{-0.075, -0.085}, {0, 0}}, BoxBaselineShift -> 0.5], "X"}]], "LaTeX"->StyleBox[ RowBox[ {"L", StyleBox[ AdjustmentBox[ "A", BoxMargins -> {{-0.36, -0.1}, {0, -0}}, BoxBaselineShift -> -0.2], FontSize -> Smaller], "T", AdjustmentBox[ "E", BoxMargins -> {{-0.075, -0.085}, {0, 0}}, BoxBaselineShift -> 0.5], "X"}]], "mma"->"Mathematica", "Mma"->"Mathematica", "MMA"->"Mathematica"}, TextAlignment->Left, LineSpacing->{1, 13}, CounterIncrements->"Title", CounterAssignments->{{"Section", 0}, {"Equation", 0}, {"Figure", 0}}, FontFamily->"Verdana", FontSize->36, FontColor->GrayLevel[0]], Cell[StyleData["Title", "Printout"], PageWidth->PaperWidth, FontSize->40] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["Subtitle"], PageWidth->PaperWidth, CellDingbat->"\[FilledSquare]", CellMargins->{{54, 25}, {2, 30}}, CellGroupingRules->{"TitleGrouping", 10}, PageBreakBelow->False, InputAutoReplacements->{"TeX"->StyleBox[ RowBox[ {"T", AdjustmentBox[ "E", BoxMargins -> {{-0.075, -0.085}, {0, 0}}, BoxBaselineShift -> 0.5], "X"}]], "LaTeX"->StyleBox[ RowBox[ {"L", StyleBox[ AdjustmentBox[ "A", BoxMargins -> {{-0.36, -0.1}, {0, -0}}, BoxBaselineShift -> -0.2], FontSize -> Smaller], "T", AdjustmentBox[ "E", BoxMargins -> {{-0.075, -0.085}, {0, 0}}, BoxBaselineShift -> 0.5], "X"}]], "mma"->"Mathematica", "Mma"->"Mathematica", "MMA"->"Mathematica"}, TextAlignment->Left, CounterIncrements->"Subtitle", CounterAssignments->{{"Section", 0}, {"Equation", 0}, {"Figure", 0}}, FontSize->18, FontWeight->"Bold", FontSlant->"Plain", FontColor->GrayLevel[0]], Cell[StyleData["Subtitle", "Printout"], PageWidth->PaperWidth, FontSize->18, FontColor->GrayLevel[0]] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["Subsubtitle"], PageWidth->PaperWidth, CellMargins->{{54, 25}, {30, 10}}, CellGroupingRules->{"TitleGrouping", 20}, PageBreakBelow->False, InputAutoReplacements->{"TeX"->StyleBox[ RowBox[ {"T", AdjustmentBox[ "E", BoxMargins -> {{-0.075, -0.085}, {0, 0}}, BoxBaselineShift -> 0.5], "X"}]], "LaTeX"->StyleBox[ RowBox[ {"L", StyleBox[ AdjustmentBox[ "A", BoxMargins -> {{-0.36, -0.1}, {0, -0}}, BoxBaselineShift -> -0.2], FontSize -> Smaller], "T", AdjustmentBox[ "E", BoxMargins -> {{-0.075, -0.085}, {0, 0}}, BoxBaselineShift -> 0.5], "X"}]], "mma"->"Mathematica", "Mma"->"Mathematica", "MMA"->"Mathematica"}, TextAlignment->Center, CounterIncrements->"Subsubtitle", CounterAssignments->{{"Section", 0}, {"Equation", 0}, {"Figure", 0}}, FontSize->14, FontSlant->"Italic"], Cell[StyleData["Subsubtitle", "Printout"], PageWidth->PaperWidth, FontSize->12] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["Section"], PageWidth->PaperWidth, CellDingbat->"\[FilledSquare]", CellMargins->{{54, 25}, {2, 30}}, CellGroupingRules->{"SectionGrouping", 30}, PageBreakBelow->False, InputAutoReplacements->{"TeX"->StyleBox[ RowBox[ {"T", AdjustmentBox[ "E", BoxMargins -> {{-0.075, -0.085}, {0, 0}}, BoxBaselineShift -> 0.5], "X"}]], "LaTeX"->StyleBox[ RowBox[ {"L", StyleBox[ AdjustmentBox[ "A", BoxMargins -> {{-0.36, -0.1}, {0, -0}}, BoxBaselineShift -> -0.2], FontSize -> Smaller], "T", AdjustmentBox[ "E", BoxMargins -> {{-0.075, -0.085}, {0, 0}}, BoxBaselineShift -> 0.5], "X"}]], "mma"->"Mathematica", "Mma"->"Mathematica", "MMA"->"Mathematica"}, TextAlignment->Left, LineSpacing->{1, 9}, CounterIncrements->"Section", CounterAssignments->{{"Subsection", 0}, {"Subsubsection", 0}}, FontFamily->"Verdana", FontSize->24, FontWeight->"Plain", FontColor->GrayLevel[0]], Cell[StyleData["Section", "Printout"], PageWidth->PaperWidth, FontSize->12, FontColor->GrayLevel[0]] }, Open ]], Cell[CellGroupData[{ Cell[StyleData["Subsection"], PageWidth->PaperWidth, CellDingbat->"\[FilledSmallSquare]", CellMargins->{{54, 25}, {2, 12}}, CellGroupingRules->{"SectionGrouping", 40}, PageBreakBelow->False, CellFrameMargins->{{2, 12}, {0, 12}}, InputAutoReplacements->{"TeX"->StyleBox[ RowBox[ {"T", AdjustmentBox[ "E", BoxMargins -> {{-0.075, -0.085}, {0, 0}}, BoxBaselineShift -> 0.5], "X"}]], "LaTeX"->StyleBox[ RowBox[ {"L", StyleBox[ AdjustmentBox[ "A", BoxMargins -> {{-0.36, -0.1}, {0, -0}}, BoxBaselineShift -> -0.2], FontSize -> Smaller], "T", AdjustmentBox[ "E", BoxMargins -> {{-0.075, -0.085}, {0, 0}}, BoxBaselineShift -> 0.5], "X"}]], "mma"->"Mathematica", "Mma"->"Mathematica", "MMA"->"Mathematica"}, CounterIncrements->"Subsection", CounterAssignments->{{"Subsubsection", 0}}, FontFamily->"Verdana", FontSize->16, FontWeight->"Plain", FontSlant->"Plain", FontColor->GrayLevel[0.4]], Cell[StyleData["Subsection", "Printout"], PageWidth->PaperWidth, FontSize->10] }, Open ]], Cell[CellGroupData[{ Cell[StyleData["Subsubsection"], PageWidth->PaperWidth, CellMargins->{{54, 25}, {2, 12}}, CellGroupingRules->{"SectionGrouping", 50}, PageBreakBelow->False, InputAutoReplacements->{"TeX"->StyleBox[ RowBox[ {"T", AdjustmentBox[ "E", BoxMargins -> {{-0.075, -0.085}, {0, 0}}, BoxBaselineShift -> 0.5], "X"}]], "LaTeX"->StyleBox[ RowBox[ {"L", StyleBox[ AdjustmentBox[ "A", BoxMargins -> {{-0.36, -0.1}, {0, -0}}, BoxBaselineShift -> -0.2], FontSize -> Smaller], "T", AdjustmentBox[ "E", BoxMargins -> {{-0.075, -0.085}, {0, 0}}, BoxBaselineShift -> 0.5], "X"}]], "mma"->"Mathematica", "Mma"->"Mathematica", "MMA"->"Mathematica"}, CounterIncrements->"Subsubsection", FontSlant->"Italic", FontColor->RGBColor[0.771908, 0.399634, 0.262867]], Cell[StyleData["Subsubsection", "Printout"], PageWidth->PaperWidth, FontSize->9, FontColor->GrayLevel[0]] }, Closed]] }, Open ]], Cell[CellGroupData[{ Cell["Styles for Body Text", "Section", PageWidth->PaperWidth], Cell[CellGroupData[{ Cell[StyleData["Text"], PageWidth->PaperWidth, CellMargins->{{54, 25}, {6, 6}}, CellFrameMargins->{{4, 10}, {6, 0}}, CellFrameLabelMargins->4, InputAutoReplacements->{"TeX"->StyleBox[ RowBox[ {"T", AdjustmentBox[ "E", BoxMargins -> {{-0.075, -0.085}, {0, 0}}, BoxBaselineShift -> 0.5], "X"}]], "LaTeX"->StyleBox[ RowBox[ {"L", StyleBox[ AdjustmentBox[ "A", BoxMargins -> {{-0.36, -0.1}, {0, -0}}, BoxBaselineShift -> -0.2], FontSize -> Smaller], "T", AdjustmentBox[ "E", BoxMargins -> {{-0.075, -0.085}, {0, 0}}, BoxBaselineShift -> 0.5], "X"}]], "mma"->"Mathematica", "Mma"->"Mathematica", "MMA"->"Mathematica"}, TextJustification->1, Hyphenation->True, LineSpacing->{1.25, 0}, CounterIncrements->"Text", FontFamily->"Georgia", FontSize->12, FontColor->RGBColor[0, 0.2, 0]], Cell[StyleData["Text", "Printout"], PageWidth->PaperWidth, LineSpacing->{1.5, 0}, FontSize->10] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["SmallText"], PageWidth->PaperWidth, CellFrame->{{0, 0}, {0, 0.25}}, CellMargins->{{72, 44}, {6, 6}}, CellFrameMargins->2, InputAutoReplacements->{"TeX"->StyleBox[ RowBox[ {"T", AdjustmentBox[ "E", BoxMargins -> {{-0.075, -0.085}, {0, 0}}, BoxBaselineShift -> 0.5], "X"}]], "LaTeX"->StyleBox[ RowBox[ {"L", StyleBox[ AdjustmentBox[ "A", BoxMargins -> {{-0.36, -0.1}, {0, -0}}, BoxBaselineShift -> -0.2], FontSize -> Smaller], "T", AdjustmentBox[ "E", BoxMargins -> {{-0.075, -0.085}, {0, 0}}, BoxBaselineShift -> 0.5], "X"}]], "mma"->"Mathematica", "Mma"->"Mathematica", "MMA"->"Mathematica"}, TextJustification->1, Hyphenation->True, LineSpacing->{1, 2}, CounterIncrements->"SmallText", FontSize->10], Cell[StyleData["SmallText", "Printout"], PageWidth->PaperWidth, LineSpacing->{1, 3}, FontSize->9] }, Closed]] }, Open ]], Cell[CellGroupData[{ Cell["Styles for Input/Output", "Section", PageWidth->PaperWidth], Cell["\<\ The cells in this section define styles used for input and output to the \ kernel. Be careful when modifying, renaming, or removing these styles, \ because the front end associates special meanings with these style names.\ \>", "Text", PageWidth->PaperWidth], Cell[CellGroupData[{ Cell[StyleData["Input"], PageWidth->PaperWidth, CellFrame->True, CellMargins->{{72, 25}, {8, 12}}, Evaluatable->True, CellGroupingRules->"InputGrouping", CellHorizontalScrolling->True, PageBreakWithin->False, GroupPageBreakWithin->False, CellLabelMargins->{{33, Inherited}, {Inherited, Inherited}}, TextAlignment->Left, HyphenationOptions->{"HyphenationCharacter"->"\[Continuation]"}, AutoItalicWords->{}, LanguageCategory->"Formula", ShowStringCharacters->True, NumberMarks->True, LinebreakAdjustments->{0.85, 2, 10, 0, 1}, CounterIncrements->"Input", FontFamily->"Verdana", FontSize->12, FontWeight->"Plain", Background->RGBColor[1, 1, 0.700008], FontVariations->{"CompatibilityType"->0}], Cell[StyleData["Input", "Printout"], PageWidth->PaperWidth, LinebreakAdjustments->{0.85, 2, 10, 1, 1}, FontSize->9.5] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["Output"], PageWidth->PaperWidth, CellMargins->{{72, 25}, {12, 4}}, CellEditDuplicate->True, CellGroupingRules->"OutputGrouping", CellHorizontalScrolling->True, PageBreakWithin->False, GroupPageBreakWithin->False, GeneratedCell->True, CellAutoOverwrite->True, CellLabelMargins->{{33, Inherited}, {Inherited, Inherited}}, DefaultFormatType->DefaultOutputFormatType, TextAlignment->Left, HyphenationOptions->{"HyphenationCharacter"->"\[Continuation]"}, AutoItalicWords->{}, LanguageCategory->"Formula", FormatType->InputForm, CounterIncrements->"Output", FontFamily->"Courier", FontSize->12, FontColor->RGBColor[0, 0, 1]], Cell[StyleData["Output", "Printout"], PageWidth->PaperWidth, FontSize->9.5] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["Message"], PageWidth->PaperWidth, CellDingbat->"\[LongDash]", CellMargins->{{72, 25}, {12, 4}}, CellGroupingRules->"OutputGrouping", PageBreakWithin->False, GroupPageBreakWithin->False, GeneratedCell->True, CellAutoOverwrite->True, ShowCellLabel->False, CellLabelMargins->{{33, Inherited}, {Inherited, Inherited}}, DefaultFormatType->DefaultOutputFormatType, HyphenationOptions->{"HyphenationCharacter"->"\[Continuation]"}, AutoItalicWords->{}, FormatType->InputForm, CounterIncrements->"Message", StyleMenuListing->None, FontFamily->"Helvetica", FontSize->12, FontWeight->"Plain", FontSlant->"Plain", FontTracking->"Plain", FontColor->RGBColor[1, 0, 0], FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False, "StrikeThrough"->False, "Masked"->False, "CompatibilityType"->0, "RotationAngle"->0}], Cell[StyleData["Message", "Printout"], PageWidth->PaperWidth, FontSize->8] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["Print"], PageWidth->PaperWidth, CellMargins->{{72, 25}, {12, 4}}, CellGroupingRules->"OutputGrouping", CellHorizontalScrolling->True, PageBreakWithin->False, GroupPageBreakWithin->False, GeneratedCell->True, CellAutoOverwrite->True, ShowCellLabel->False, CellLabelMargins->{{33, Inherited}, {Inherited, Inherited}}, DefaultFormatType->DefaultOutputFormatType, TextAlignment->Left, HyphenationOptions->{"HyphenationCharacter"->"\[Continuation]"}, AutoItalicWords->{}, FormatType->InputForm, CounterIncrements->"Print", StyleMenuListing->None], Cell[StyleData["Print", "Printout"], PageWidth->PaperWidth, FontSize->9.5] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["Graphics"], PageWidth->PaperWidth, CellMargins->{{72, 25}, {12, 4}}, CellGroupingRules->"GraphicsGrouping", CellHorizontalScrolling->True, PageBreakWithin->False, GeneratedCell->True, CellAutoOverwrite->True, ShowCellLabel->False, DefaultFormatType->DefaultOutputFormatType, FormatType->InputForm, CounterIncrements->"Graphics", ImageMargins->{{35, Inherited}, {Inherited, 0}}, StyleMenuListing->None, FontSize->10], Cell[StyleData["Graphics", "Printout"], PageWidth->PaperWidth, FontSize->8] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["CellLabel"], PageWidth->PaperWidth, CellLabelAutoDelete->False, StyleMenuListing->None, FontSize->10, FontSlant->"Italic", FontColor->RGBColor[0.551492, 0.231144, 0.313466]], Cell[StyleData["CellLabel", "Printout"], PageWidth->PaperWidth, FontSize->8, FontColor->GrayLevel[0]] }, Closed]] }, Open ]], Cell[CellGroupData[{ Cell["Hyperlink Styles", "Section", PageWidth->PaperWidth], Cell["\<\ The cells below define styles useful for making hypertext ButtonBoxes. The \ \"Hyperlink\" style is for links within the same Notebook, or between \ Notebooks.\ \>", "Text", PageWidth->PaperWidth], Cell[CellGroupData[{ Cell[StyleData["Hyperlink"], PageWidth->PaperWidth, StyleMenuListing->None, ButtonStyleMenuListing->Automatic, FontColor->RGBColor[0, 0, 1], FontVariations->{"Underline"->True}, ButtonBoxOptions->{ButtonFunction:>(FrontEndExecute[ { FrontEnd`NotebookLocate[ #2]}]&), Active->True, ButtonNote->ButtonData}], Cell[StyleData["Hyperlink", "Printout"], PageWidth->PaperWidth, FontSize->10, FontColor->GrayLevel[0], FontVariations->{"Underline"->False}] }, Closed]], Cell["\<\ The following styles are for linking automatically to the on-line help \ system.\ \>", "Text", PageWidth->PaperWidth], Cell[CellGroupData[{ Cell[StyleData["MainBookLink"], PageWidth->PaperWidth, StyleMenuListing->None, ButtonStyleMenuListing->Automatic, FontColor->RGBColor[0, 0, 1], FontVariations->{"Underline"->True}, ButtonBoxOptions->{ButtonFunction:>(FrontEndExecute[ { FrontEnd`HelpBrowserLookup[ "MainBook", #]}]&), Active->True, ButtonFrame->"None"}], Cell[StyleData["MainBookLink", "Printout"], PageWidth->PaperWidth, FontSize->10, FontColor->GrayLevel[0], FontVariations->{"Underline"->False}] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["AddOnsLink"], PageWidth->PaperWidth, StyleMenuListing->None, ButtonStyleMenuListing->Automatic, FontFamily->"Courier", FontColor->RGBColor[0, 0, 1], FontVariations->{"Underline"->True}, ButtonBoxOptions->{ButtonFunction:>(FrontEndExecute[ { FrontEnd`HelpBrowserLookup[ "AddOns", #]}]&), Active->True, ButtonFrame->"None"}], Cell[StyleData["AddOnsLink", "Printout"], PageWidth->PaperWidth, FontSize->10, FontColor->GrayLevel[0], FontVariations->{"Underline"->False}] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["RefGuideLink"], PageWidth->PaperWidth, StyleMenuListing->None, ButtonStyleMenuListing->Automatic, FontFamily->"Courier", FontColor->RGBColor[0, 0, 1], FontVariations->{"Underline"->True}, ButtonBoxOptions->{ButtonFunction:>(FrontEndExecute[ { FrontEnd`HelpBrowserLookup[ "RefGuide", #]}]&), Active->True, ButtonFrame->"None"}], Cell[StyleData["RefGuideLink", "Printout"], PageWidth->PaperWidth, FontSize->10, FontColor->GrayLevel[0], FontVariations->{"Underline"->False}] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["GettingStartedLink"], PageWidth->PaperWidth, StyleMenuListing->None, ButtonStyleMenuListing->Automatic, FontColor->RGBColor[0, 0, 1], FontVariations->{"Underline"->True}, ButtonBoxOptions->{ButtonFunction:>(FrontEndExecute[ { FrontEnd`HelpBrowserLookup[ "GettingStarted", #]}]&), Active->True, ButtonFrame->"None"}], Cell[StyleData["GettingStartedLink", "Printout"], PageWidth->PaperWidth, FontSize->10, FontColor->GrayLevel[0], FontVariations->{"Underline"->False}] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["OtherInformationLink"], PageWidth->PaperWidth, StyleMenuListing->None, ButtonStyleMenuListing->Automatic, FontColor->RGBColor[0, 0, 1], FontVariations->{"Underline"->True}, ButtonBoxOptions->{ButtonFunction:>(FrontEndExecute[ { FrontEnd`HelpBrowserLookup[ "OtherInformation", #]}]&), Active->True, ButtonFrame->"None"}], Cell[StyleData["OtherInformationLink", "Printout"], PageWidth->PaperWidth, FontSize->10, FontColor->GrayLevel[0], FontVariations->{"Underline"->False}] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["Palette Styles", "Section", PageWidth->PaperWidth], Cell["\<\ The cells below define styles that define standard ButtonFunctions, for use \ in palette buttons.\ \>", "Text", PageWidth->PaperWidth], Cell[StyleData["Paste"], PageWidth->PaperWidth, StyleMenuListing->None, ButtonStyleMenuListing->Automatic, ButtonBoxOptions->{ButtonFunction:>(FrontEndExecute[ { FrontEnd`NotebookApply[ FrontEnd`InputNotebook[ ], #, After]}]&)}], Cell[StyleData["Evaluate"], PageWidth->PaperWidth, StyleMenuListing->None, ButtonStyleMenuListing->Automatic, ButtonBoxOptions->{ButtonFunction:>(FrontEndExecute[ { FrontEnd`NotebookApply[ FrontEnd`InputNotebook[ ], #, All], SelectionEvaluate[ FrontEnd`InputNotebook[ ], All]}]&)}], Cell[StyleData["EvaluateCell"], PageWidth->PaperWidth, StyleMenuListing->None, ButtonStyleMenuListing->Automatic, ButtonBoxOptions->{ButtonFunction:>(FrontEndExecute[ { FrontEnd`NotebookApply[ FrontEnd`InputNotebook[ ], #, All], FrontEnd`SelectionMove[ FrontEnd`InputNotebook[ ], All, Cell, 1], FrontEnd`SelectionEvaluateCreateCell[ FrontEnd`InputNotebook[ ], All]}]&)}], Cell[StyleData["CopyEvaluate"], PageWidth->PaperWidth, StyleMenuListing->None, ButtonStyleMenuListing->Automatic, ButtonBoxOptions->{ButtonFunction:>(FrontEndExecute[ { FrontEnd`SelectionCreateCell[ FrontEnd`InputNotebook[ ], All], FrontEnd`NotebookApply[ FrontEnd`InputNotebook[ ], #, All], FrontEnd`SelectionEvaluate[ FrontEnd`InputNotebook[ ], All]}]&)}], Cell[StyleData["CopyEvaluateCell"], PageWidth->PaperWidth, StyleMenuListing->None, ButtonStyleMenuListing->Automatic, ButtonBoxOptions->{ButtonFunction:>(FrontEndExecute[ { FrontEnd`SelectionCreateCell[ FrontEnd`InputNotebook[ ], All], FrontEnd`NotebookApply[ FrontEnd`InputNotebook[ ], #, All], FrontEnd`SelectionEvaluateCreateCell[ FrontEnd`InputNotebook[ ], All]}]&)}] }, Closed]], Cell[CellGroupData[{ Cell["Styles for Automatic Numbering", "Section", PageWidth->PaperWidth], Cell["\<\ The following styles are useful for numbered equations, figures, etc. They \ automatically give the cell a FrameLabel containing a reference to a \ particular counter, and also increment that counter.\ \>", "Text", PageWidth->PaperWidth], Cell[CellGroupData[{ Cell[StyleData["NumberedEquation"], PageWidth->PaperWidth, CellMargins->{{72, 10}, {0, 10}}, CellFrameLabels->{{None, Cell[ TextData[ {"(", CounterBox[ "NumberedEquation"], ")"}]]}, {None, None}}, DefaultFormatType->DefaultInputFormatType, HyphenationOptions->{"HyphenationCharacter"->"\[Continuation]"}, CounterIncrements->"NumberedEquation", FormatTypeAutoConvert->False], Cell[StyleData["NumberedEquation", "Printout"], PageWidth->PaperWidth, FontSize->10] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["NumberedFigure"], PageWidth->PaperWidth, CellFrame->True, CellMargins->{{72, 25}, {8, 12}}, Evaluatable->True, CellGroupingRules->"InputGrouping", CellHorizontalScrolling->True, PageBreakWithin->False, GroupPageBreakWithin->False, CellLabelMargins->{{33, Inherited}, {Inherited, Inherited}}, CellFrameLabels->{{None, None}, {Cell[ TextData[ {"Figure 19.", CounterBox[ "NumberedFigure"]}], FontSlant -> Italic, FontFamily -> "Georgia", FontColor -> RGBColor[ .5, .1, .1]], None}}, DefaultFormatType->DefaultInputFormatType, TextAlignment->Left, HyphenationOptions->{"HyphenationCharacter"->"\[Continuation]"}, AutoItalicWords->{}, LanguageCategory->"Formula", ShowStringCharacters->True, NumberMarks->True, LinebreakAdjustments->{0.85, 2, 10, 0, 1}, CounterIncrements->"NumberedFigure", FormatTypeAutoConvert->False, FontFamily->"Verdana", FontSize->12, FontWeight->"Plain", Background->RGBColor[1, 0.8, 0.700008]], Cell[StyleData["NumberedFigure", "Printout"], PageWidth->PaperWidth, FontSize->10] }, Open ]], Cell[CellGroupData[{ Cell[StyleData["NumberedTable"], PageWidth->PaperWidth, CellMargins->{{72, 145}, {2, 10}}, CellFrameLabels->{{None, None}, {Cell[ TextData[ {"Table ", CounterBox[ "NumberedTable"]}]], None}}, TextAlignment->Center, CounterIncrements->"NumberedTable", FormatTypeAutoConvert->False], Cell[StyleData["NumberedTable", "Printout"], PageWidth->PaperWidth, FontSize->10] }, Closed]] }, Open ]], Cell[CellGroupData[{ Cell["Formulas and Programming", "Section", PageWidth->PaperWidth], Cell[StyleData["Definition"], PageWidth->PaperWidth, CellFrame->True, CellMargins->{{72, 25}, {8, 12}}, Evaluatable->True, CellGroupingRules->"InputGrouping", CellHorizontalScrolling->True, PageBreakWithin->False, GroupPageBreakWithin->False, InitializationCell->True, CellLabelMargins->{{33, Inherited}, {Inherited, Inherited}}, DefaultFormatType->DefaultInputFormatType, TextAlignment->Left, HyphenationOptions->{"HyphenationCharacter"->"\[Continuation]"}, AutoItalicWords->{}, LanguageCategory->"Formula", ShowStringCharacters->True, NumberMarks->True, LinebreakAdjustments->{0.85, 2, 10, 0, 1}, CounterIncrements->"Input", FormatTypeAutoConvert->False, FontFamily->"Verdana", FontSize->12, FontWeight->"Plain", Background->RGBColor[0.8, 1, 1]], Cell[StyleData["Miniprogram"], PageWidth->PaperWidth, CellFrame->True, CellDingbat->None, CellMargins->{{72, 25}, {8, 12}}, Evaluatable->True, CellGroupingRules->"InputGrouping", CellHorizontalScrolling->True, PageBreakWithin->False, GroupPageBreakWithin->False, InitializationCell->True, CellLabelMargins->{{33, Inherited}, {Inherited, Inherited}}, DefaultFormatType->DefaultInputFormatType, TextAlignment->Left, HyphenationOptions->{"HyphenationCharacter"->"\[Continuation]"}, AutoItalicWords->{}, LanguageCategory->"Formula", ShowStringCharacters->True, NumberMarks->True, LinebreakAdjustments->{0.85, 2, 10, 0, 1}, CounterIncrements->"Input", FormatTypeAutoConvert->False, FontFamily->"Verdana", FontSize->12, FontWeight->"Plain", Background->RGBColor[0.8, 1, 0.700008]], Cell[StyleData["Animation"], PageWidth->PaperWidth, CellFrame->True, CellMargins->{{72, 25}, {8, 12}}, Evaluatable->True, CellGroupingRules->"InputGrouping", CellHorizontalScrolling->True, PageBreakWithin->False, GroupPageBreakWithin->False, InitializationCell->True, CellLabelMargins->{{33, Inherited}, {Inherited, Inherited}}, DefaultFormatType->DefaultInputFormatType, TextAlignment->Left, HyphenationOptions->{"HyphenationCharacter"->"\[Continuation]"}, AutoItalicWords->{}, LanguageCategory->"Formula", ShowStringCharacters->True, NumberMarks->True, LinebreakAdjustments->{0.85, 2, 10, 0, 1}, CounterIncrements->"Input", FormatTypeAutoConvert->False, FontFamily->"Verdana", FontSize->12, FontWeight->"Plain", FontColor->GrayLevel[1], Background->RGBColor[0.4, 0.4, 1]], Cell[CellGroupData[{ Cell[StyleData["Package"], PageWidth->PaperWidth, CellFrame->True, CellMargins->{{72, 25}, {8, 12}}, Evaluatable->True, CellGroupingRules->"InputGrouping", CellHorizontalScrolling->True, PageBreakWithin->False, GroupPageBreakWithin->False, InitializationCell->True, CellLabelMargins->{{33, Inherited}, {Inherited, Inherited}}, DefaultFormatType->DefaultInputFormatType, TextAlignment->Left, HyphenationOptions->{"HyphenationCharacter"->"\[Continuation]"}, AutoItalicWords->{}, LanguageCategory->"Formula", ShowStringCharacters->True, NumberMarks->True, LinebreakAdjustments->{0.85, 2, 10, 0, 1}, CounterIncrements->"Input", FormatTypeAutoConvert->False, FontFamily->"Verdana", FontSize->12, FontWeight->"Plain", Background->RGBColor[0.900008, 0.800015, 1]], Cell[StyleData["Program", "Printout"], PageWidth->PaperWidth, FontSize->9.5] }, Open ]] }, Open ]] }, Open ]] }] ] (******************************************************************* 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[CellGroupData[{ Cell[1776, 53, 28, 0, 68, "Title"], Cell[CellGroupData[{ Cell[1829, 57, 24, 0, 71, "Section"], Cell[1856, 59, 466, 12, 88, "Text"], Cell[2325, 73, 148, 4, 68, "Definition"], Cell[2476, 79, 86, 1, 52, "Definition"], Cell[2565, 82, 31, 0, 52, "Input"], Cell[2599, 84, 262, 8, 50, "Text"], Cell[2864, 94, 126, 3, 52, "Definition"], Cell[2993, 99, 209, 6, 50, "Text"], Cell[3205, 107, 145, 5, 100, "Package"], Cell[3353, 114, 37, 0, 52, "Package"], Cell[3393, 116, 330, 11, 50, "Text"], Cell[CellGroupData[{ Cell[3748, 131, 29, 0, 34, "Subsection"], Cell[3780, 133, 23, 0, 31, "Text"], Cell[3806, 135, 131, 5, 84, "Definition"], Cell[3940, 142, 246, 5, 100, "Definition"], Cell[4189, 149, 172, 4, 84, "Definition"], Cell[4364, 155, 47, 0, 31, "Text"], Cell[4414, 157, 112, 4, 84, "Package"], Cell[4529, 163, 292, 9, 100, "Package"], Cell[4824, 174, 66, 0, 31, "Text"], Cell[4893, 176, 403, 6, 212, "Miniprogram"], Cell[5299, 184, 436, 7, 228, "Miniprogram"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[5784, 197, 24, 0, 45, "Section"], Cell[5811, 199, 125, 3, 50, "Text"], Cell[5939, 204, 109, 3, 68, "Definition"], Cell[6051, 209, 180, 5, 100, "Input"], Cell[6234, 216, 497, 9, 126, "Text"], Cell[6734, 227, 354, 15, 260, "Definition"], Cell[7091, 244, 336, 9, 69, "Text"], Cell[7430, 255, 59, 0, 75, "NumberedFigure"], Cell[7492, 257, 47, 0, 52, "Input"], Cell[7542, 259, 46, 0, 52, "Input"] }, Closed]], Cell[CellGroupData[{ Cell[7625, 264, 24, 0, 45, "Section"], Cell[7652, 266, 250, 8, 50, "Text"], Cell[7905, 276, 82, 1, 52, "Definition"], Cell[7990, 279, 175, 7, 31, "Text"], Cell[8168, 288, 86, 4, 84, "Input"], Cell[8257, 294, 585, 14, 107, "Text"], Cell[8845, 310, 94, 2, 52, "Definition"], Cell[8942, 314, 43, 0, 52, "Input"], Cell[8988, 316, 161, 5, 100, "Input"], Cell[9152, 323, 346, 12, 69, "Text"], Cell[9501, 337, 35, 0, 52, "Input"], Cell[9539, 339, 653, 18, 107, "Text"], Cell[10195, 359, 55, 0, 52, "Input"], Cell[10253, 361, 190, 4, 50, "Text"], Cell[10446, 367, 264, 9, 203, "NumberedFigure"], Cell[10713, 378, 185, 4, 50, "Text"], Cell[10901, 384, 141, 5, 100, "Input"], Cell[11045, 391, 278, 6, 69, "Text"], Cell[11326, 399, 121, 3, 68, "Input"], Cell[11450, 404, 446, 14, 88, "Text"], Cell[11899, 420, 330, 10, 180, "Input"] }, Closed]], Cell[CellGroupData[{ Cell[12266, 435, 24, 0, 45, "Section"], Cell[12293, 437, 316, 5, 88, "Text"], Cell[12612, 444, 113, 3, 68, "Definition"], Cell[12728, 449, 272, 9, 164, "Input"], Cell[13003, 460, 130, 4, 107, "NumberedFigure"], Cell[13136, 466, 245, 6, 68, "Text"], Cell[13384, 474, 413, 10, 203, "NumberedFigure"], Cell[13800, 486, 561, 12, 219, "NumberedFigure"] }, Closed]], Cell[CellGroupData[{ Cell[14398, 503, 24, 0, 45, "Section"], Cell[14425, 505, 300, 7, 69, "Text"], Cell[14728, 514, 203, 5, 100, "Definition"], Cell[14934, 521, 52, 0, 52, "Input"], Cell[14989, 523, 118, 3, 31, "Text"], Cell[15110, 528, 185, 7, 132, "Miniprogram"], Cell[15298, 537, 267, 8, 171, "NumberedFigure"], Cell[CellGroupData[{ Cell[15590, 549, 29, 0, 34, "Subsection"], Cell[15622, 551, 96, 2, 31, "Text"], Cell[15721, 555, 106, 3, 68, "Definition"], Cell[15830, 560, 296, 9, 164, "Definition"], Cell[16129, 571, 116, 3, 91, "NumberedFigure"], Cell[16248, 576, 113, 3, 91, "NumberedFigure"], Cell[16364, 581, 143, 3, 91, "NumberedFigure"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[16556, 590, 24, 0, 45, "Section"], Cell[16583, 592, 181, 3, 50, "Text"], Cell[16767, 597, 190, 5, 84, "Definition"], Cell[16960, 604, 96, 2, 52, "Definition"], Cell[17059, 608, 312, 9, 164, "Miniprogram"], Cell[17374, 619, 49, 0, 52, "Input"], Cell[17426, 621, 200, 5, 107, "NumberedFigure"], Cell[17629, 628, 167, 3, 31, "Text"], Cell[17799, 633, 173, 4, 52, "Input"], Cell[17975, 639, 111, 4, 68, "Input"], Cell[18089, 645, 132, 4, 68, "Input"], Cell[18224, 651, 104, 4, 68, "Input"], Cell[18331, 657, 147, 3, 50, "Text"], Cell[18481, 662, 200, 5, 100, "Input"], Cell[18684, 669, 180, 4, 84, "Input"], Cell[18867, 675, 144, 4, 84, "Input"], Cell[19014, 681, 37, 0, 52, "Input"], Cell[19054, 683, 180, 4, 50, "Text"], Cell[19237, 689, 399, 12, 196, "Input"], Cell[19639, 703, 489, 13, 235, "NumberedFigure"], Cell[CellGroupData[{ Cell[20153, 720, 54, 1, 34, "Subsection"], Cell[20210, 723, 411, 12, 219, "NumberedFigure"], Cell[20624, 737, 705, 19, 331, "NumberedFigure"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[21378, 762, 24, 0, 45, "Section"], Cell[21405, 764, 126, 3, 50, "Text"], Cell[21534, 769, 327, 12, 196, "Miniprogram"], Cell[21864, 783, 89, 2, 52, "Input"], Cell[21956, 787, 209, 6, 139, "NumberedFigure"], Cell[22168, 795, 62, 0, 52, "Input"], Cell[22233, 797, 274, 8, 171, "NumberedFigure"], Cell[CellGroupData[{ Cell[22532, 809, 29, 0, 34, "Subsection"], Cell[22564, 811, 162, 7, 132, "Miniprogram"], Cell[22729, 820, 79, 3, 68, "Input"], Cell[22811, 825, 74, 0, 52, "Input"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[22934, 831, 25, 0, 45, "Section"], Cell[22962, 833, 306, 7, 69, "Text"], Cell[23271, 842, 182, 6, 116, "Input"], Cell[23456, 850, 55, 0, 52, "Input"], Cell[23514, 852, 408, 12, 69, "Text"], Cell[23925, 866, 425, 11, 180, "Miniprogram"], Cell[24353, 879, 239, 11, 31, "Text"], Cell[24595, 892, 109, 2, 75, "NumberedFigure"], Cell[24707, 896, 186, 5, 50, "Text"], Cell[CellGroupData[{ Cell[24918, 905, 30, 0, 34, "Subsection"], Cell[24951, 907, 374, 10, 180, "Miniprogram"], Cell[25328, 919, 160, 4, 91, "NumberedFigure"] }, Closed]] }, Closed]] }, Open ]] } ] *) (******************************************************************* End of Mathematica Notebook file. *******************************************************************)