{VERSION 4 0 "IBM INTEL NT" "4.0" } {USTYLETAB {CSTYLE "Maple Input" -1 0 "Times" 1 12 255 0 0 1 0 1 0 0 1 0 0 0 0 1 }{PSTYLE "Normal" -1 0 1 {CSTYLE "" -1 -1 "Times" 1 14 0 0 0 1 2 1 2 0 0 0 0 0 0 1 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "R 3 Font 0" -1 256 1 {CSTYLE "" -1 -1 "Times" 1 11 255 255 255 1 2 1 2 0 0 0 0 0 0 1 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "R3 Font 2" -1 257 1 {CSTYLE "" -1 -1 "Courier" 1 10 255 255 0 1 2 1 2 0 0 0 0 0 0 1 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }} {SECT 0 {EXCHG {PARA 0 "" 0 "" {TEXT -1 187 "This worksheet contains b asic procedures for computing Gauss curvature and mean curvature. Also , several important surfaces and examples of their plots are given. W e start with the usual" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 25 "w ith(plots):with(linalg):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 54 "dp:=proc(X,Y)\n X[1]*Y[1]+X[2]*Y[2]+X[3]*Y[3];\n end:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "EFG := proc(X)" }}{PARA 0 "> " 0 " " {MPLTEXT 1 0 25 " local E,F,G,Xu,Xv;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 117 " Xu := [diff(X[1],u),diff(X[2],u),diff(X[3 ],u)];\n Xv := [diff(X[1],v),diff(X[2],v),diff(X[3],v)];" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 26 " E := dp(Xu,Xu);" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 26 " F := dp(Xu,Xv);" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 26 " G := dp(Xv,Xv);" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 29 " simplify([E,F,G]);" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 11 " end:" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 177 "The following procedure gives the unit normal to th e input surface X. If you wish to take UN(X), then X must be given in \+ parametrized form in square brackets as done down below." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 13 "UN := proc(X)" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 138 " local Xu,Xv,Z,s;\n Xu := [diff(X[1],u ),diff(X[2],u),diff(X[3],u)];\n Xv := [diff(X[1],v),diff(X[2] ,v),diff(X[3],v)];" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 32 " Z : = crossprod(Xu,Xv);" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 42 " s \+ := sqrt(Z[1]^2+Z[2]^2+Z[3]^2);" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 43 " \+ simplify([Z[1]/s,Z[2]/s,Z[3]/s]);" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 10 " end:" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 271 "T he formula for Gauss curvature requires dotting certain second partial derivatives with the unit normal. This is done as follows. See the fo rmulas for K and H given on page 91 and Lemma 2.1 on page 92. Now comp are the Examples on pages 93-97 with the calculations below." }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "lmn := proc(X)" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 39 " local Xu,Xv,Xuu,Xuv,Xvv,U,l,m,n;" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 58 " Xu := [diff(X[1],u),diff (X[2],u),diff(X[3],u)];" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 58 " \+ Xv := [diff(X[1],v),diff(X[2],v),diff(X[3],v)];" }}{PARA 0 "> " 0 " " {MPLTEXT 1 0 62 " Xuu := [diff(Xu[1],u),diff(Xu[2],u),diff (Xu[3],u)];" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 62 " Xuv := [d iff(Xu[1],v),diff(Xu[2],v),diff(Xu[3],v)];" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 62 " Xvv := [diff(Xv[1],v),diff(Xv[2],v),diff(X v[3],v)];" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 22 " U := UN(X); " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 26 " l := dp(U,Xuu);" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 26 " m := dp(U,Xuv);" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 26 " n := dp(U,Xvv);" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 29 " simplify([l,m,n]);" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 11 " end:" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 54 "Finally we can calculate Gauss curvature K as follow s." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 13 "GK := proc(X)" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 28 " local E,F,G,l,m,n,S,T;" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 22 " S := EFG(X);" }}{PARA 0 " > " 0 "" {MPLTEXT 1 0 22 " T := lmn(X);" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 20 " E := S[1];" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 20 " F := S[2];" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 20 " \+ G := S[3];" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 20 " l := T [1];" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 20 " m := T[2];" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 20 " n := T[3];" }}{PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 40 " simplify((l*n-m^2)/(E*G-F^2));" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 10 " end:" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 26 "Mean curvature is given by" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 13 "MK := proc(X)" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 28 " local E,F,G,l,m,n,S,T;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 22 " \+ S := EFG(X);" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 22 " T := lmn(X);" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 20 " E := S[1]; " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 20 " F := S[2];" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 20 " G := S[3];" }}{PARA 0 "> " 0 " " {MPLTEXT 1 0 20 " l := T[1];" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 20 " m := T[2];" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 20 " \+ n := T[3];" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 50 " simp lify((G*l+E*n-2*F*m)/(2*E*G-2*F^2));" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 10 " end:" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 138 "You can plot the Gauss curvature over the parameter domain (i.e. how u and v vary) . Note that the input `dom` is a list with four entries." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 24 "Gaussplot := proc(X,dom)" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 11 " local k;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 23 " k(u,v) := GK(X);" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 76 " plot3d(k(u,v),u = dom[1] .. dom[2],v = dom[3] \+ .. dom[4],axes = FRAME," }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 41 " \+ title = `Gaussian Curvature`);" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 7 " end:" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 82 "So here are some para metrizations and ways to calculate Gauss and Mean curvatures." }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 52 "Rsphere:=[R*cos(u)*cos(v),R* sin(u)*cos(v),R*sin(v)];" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 12 "GK(Rsphere);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 31 "simplify(M K(Rsphere),symbolic);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 156 "The fol lowing surface is the catenoid obtained by revolving the catenary abou t the x-axis. The second command checks that the catenoid is a minimal surface." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 44 "catenoid:=[u,c osh(u)*cos(v),cosh(u)*sin(v)];" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 13 "MK(catenoid);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 189 "The fol lowing surface is the helicoid obtained by revolvinga moving line abou t the z-axis. The helicoid is a ruled surface. The second command chec ks that the helicoid is a minimal surface." }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 32 "helicoid:=[u*cos(v),u*sin(v),v];" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 27 "GK(helicoid); MK(helicoid);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 90 "More surfaces are below. Try to plot some of them using the plot3d command as shown below." }}}{EXCHG {PARA 0 " > " 0 "" {MPLTEXT 1 0 33 "scherk1:=[u,v,ln(cos(v)/cos(u))];" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 12 "MK(scherk1);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 70 "moebius:=[cos(u)+v*cos(u/2)*cos(u), sin(u)+v*cos(u/2)*sin(u),sin(u/2)];" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 66 "catsurf:=[u-sin(u)*cosh(v),1-cos(u)*cosh(v),4*sin(u/2 )*sinh(v/2)];" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 96 "You can plot sur faces from procedures. The following may be used in an animation as sh own below." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "helcatplot := proc(t)" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 16 " local X;" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 64 " X := [cos(Pi*t)*sinh(v)*sin (u)+sin(Pi*t)*cosh(v)*cos(u)," }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 88 " \+ -cos(Pi*t)*sinh(v)*cos(u)+sin(Pi*t)*cosh(v)*sin(u),u*cos(Pi* t)+v*sin(Pi*t)];" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 65 " plot3d(X ,u=0..3*Pi,v=-1..1,scaling=constrained,shading=XY)" }}{PARA 0 "> " 0 " " {MPLTEXT 1 0 8 " end:" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 151 "Ne xt comes Enneper's surface --- another example of a minimal surface, b ut one which can't be made from a soap film. Why not? Check that it is minimal." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 48 "enneper:=[u-u^ 3/3+u*v^2,-v+v^3/3-v*u^2,u^2-v^2];" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 22 "scherk5 := proc(a,b,c)" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 59 " [a*arcsinh(u),b*arcsinh(v),c*arcsin(u*v)];" } }{PARA 0 "> " 0 "" {MPLTEXT 1 0 22 " end:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 45 "cork:=[cos(u)*cos(v),sin(u)*cos(v), sin(v)+u];" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 18 "sc5 := proc(a ,b,c)" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 57 " [a*arcsinh(u),b* arcsinh(v),c*arcsin(u*v)+2.8] ;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 14 " end:" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 76 "Here are some p lots. Notice that you can color plots according to functions." }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 98 "plot3d(\{scherk5(1,1,1),sc5( 1,1,-1)\},u=-1..1,v=-1..1,scaling=constrained,style=patch,grid=[13,13] );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 100 "plot3d(helicoid,u=0. .1.5,v=0..5*Pi,color=GK(helicoid),orientation=[21,64],style=patch,grid =[10,60]);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 105 "plot3d(ennep er,u=-2.2..2.2,v=-2.2..2.2,shading=zhue,style=patch,scaling=constraine d,orientation=[90,68]);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 587 "The f ollowing shows how to animate pictures in Maple. The example below sho ws how the helicoid and catenoid may be deformed isometrically (i.e. p reserving distances) into each other. When the helicoid picture comes \+ up, click once directly on it. You should see a frame around the pictu re and a new tool bar will appear at the top. Click on the forward arr ow to start the animation. Test out other arrows to speed up or slow d own the animation. The commands below involve creating a sequence (seq ) of plots (look at helcatplot) and displaying them one after the othe r (insequence = true)." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 59 "d isplay3d(seq(helcatplot(t/10),t=-10..10),insequence=true);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{MARK "43" 0 }{VIEWOPTS 1 1 0 1 1 1803 1 1 1 1 }{PAGENUMBERS 0 1 2 33 1 1 }