{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 }{CSTYLE "2D Math" -1 2 "Times" 0 1 0 0 0 0 0 0 2 0 0 0 0 0 0 1 }{CSTYLE "2D Comment" 2 18 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 } {CSTYLE "" -1 256 "" 1 24 0 0 0 0 0 0 0 0 0 0 0 0 0 1 }{PSTYLE "Normal " -1 0 1 {CSTYLE "" -1 -1 "Times" 1 14 0 0 0 1 2 1 2 2 2 2 1 1 1 1 }1 1 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "R3 Font 0" -1 256 1 {CSTYLE "" -1 -1 "Times" 1 11 255 255 255 1 2 1 2 2 2 2 1 1 1 1 }1 1 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "R3 Font 2" -1 257 1 {CSTYLE "" -1 -1 "Courier" 1 10 255 255 0 1 2 1 2 2 2 2 1 1 1 1 }1 1 0 0 0 0 1 0 1 0 2 2 0 1 }} {SECT 0 {EXCHG {PARA 0 "" 0 "" {TEXT 256 27 "Flat Surfaces of Revoluti on" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 144 "This worksheet shows how M aple may be used to find flat surfaces of revolution. Recall that a su rface is flat if its Gauss curvature vanishes; " }{XPPEDIT 18 0 "K=0 " "6#/%\"KG\"\"!" }{TEXT -1 27 " . We start with the usual" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 25 "with(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 " lo cal 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 the input surface X. If you wish to take UN(X), the n 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 := [dif f(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 "The formula for Gauss curvature requires dotting cert ain second partial derivatives with the unit normal. This is done as f ollows. See the formulas for K and H given on page 91 and Lemma 2.1 on page 92. Now compare the Examples on pages 93-97 with the calculation s 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),di ff(Xu[2],u),diff(Xu[3],u)];" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 62 " \+ Xuv := [diff(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(Xv[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 110 "Now we can e nter a function h which will be the profile curve of a surface of revo lution with parametrization " }{XPPEDIT 18 0 "x(u,v)=[u,h(u)*cos(v),h( u)*sin(v)]" "6#/-%\"xG6$%\"uG%\"vG7%F'*&-%\"hG6#F'\"\"\"-%$cosG6#F(F.* &-F,6#F'F.-%$sinG6#F(F." }{TEXT -1 32 " and the parametrization itself ." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 11 "h:=t->h(t);" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 37 "surfrev:=[u,h(u)*cos(v),h(u) *sin(v)];" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 61 "We can take the Gaus s curvature using the GK procedure above." }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 19 "gauss:=GK(surfrev);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 8 "We want " }{XPPEDIT 18 0 "K=0" "6#/%\"KG\"\"!" }{TEXT -1 122 " , so we take the numerator of gauss and solve the differential e quation obtained when we set the numerator equal to zero." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 13 "numer(gauss);" }}}{EXCHG {PARA 0 " " 0 "" {TEXT -1 30 "We can solve for the function " }{XPPEDIT 18 0 "h( u)" "6#-%\"hG6#%\"uG" }{TEXT -1 1 "." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 38 "sol:=rhs(dsolve(numer(gauss)=0,h(u)));" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 70 "We can pick _C1 and _C2 in various ways t o see what this function is. " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 31 "func1:=subs(\{_C1=0,_C2=1\},sol);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 31 "func2:=subs(\{_C1=1,_C2=0\},sol);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 31 "func3:=subs(\{_C1=1,_C2=1\},sol);" }}} {EXCHG {PARA 0 "" 0 "" {TEXT -1 61 "If you don't recognize these surfa ces yet, you can plot them!" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 119 "plot3d([u,func1*cos(v),func1*sin(v)],u=-2..2,v=0..2*Pi,scaling=co nstrained,style=patch,shading=zhue,lightmodel=light3);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 118 "plot3d([u,func2*cos(v),func2*sin(v )],u=0..2,v=0..2*Pi,scaling=constrained,style=patch,shading=zhue,light model=light3);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 119 "plot3d([ u,func3*cos(v),func3*sin(v)],u=-1..2,v=0..2*Pi,scaling=constrained,sty le=patch,shading=zhue,lightmodel=light3);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 58 "So now you know what a flat surface of revolution must be ." }}}}{MARK "4 1 0" 25 }{VIEWOPTS 1 1 0 1 1 1803 1 1 1 1 } {PAGENUMBERS 0 1 2 33 1 1 }