{VERSION 2 3 "IBM INTEL NT" "2.3" } {USTYLETAB {CSTYLE "Maple Input" -1 0 "Times" 1 12 255 0 0 1 0 1 0 0 1 0 0 0 0 }{CSTYLE "2D Math" -1 2 "Times" 0 1 0 0 0 0 0 0 2 0 0 0 0 0 0 }{CSTYLE "2D Comment" 2 18 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 256 "" 1 24 0 0 0 0 0 0 0 0 0 0 0 0 0 }{PSTYLE "Normal" -1 0 1 {CSTYLE "" -1 -1 "Times" 1 14 0 0 0 1 2 1 2 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "R3 Font 0" -1 256 1 {CSTYLE "" -1 -1 "Times" 1 11 255 255 255 1 2 1 2 0 0 0 0 0 0 }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 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }} {SECT 0 {EXCHG {PARA 0 "" 0 "" {TEXT 256 27 "K=-1 Surfaces of Revoluti on" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 104 "This worksheet shows how M aple may be used to find surfaces of revolution with constant Gauss cu rvature " }{XPPEDIT 18 0 "K=-1" "/%\"KG,$\"\"\"!\"\"" }{TEXT -1 25 ". \+ We start with the usual" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 25 " with(plots):with(linalg):" }}}{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 31 " \+ E := dotprod(Xu,Xu);" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 31 " \+ F := dotprod(Xu,Xv);" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 31 " \+ G := dotprod(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 proced ure gives the unit normal to the 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 "The formula for Gauss curvature requires dotting certain second partial derivatives with the unit normal. This is done as follows. 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 th e calculations below." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "lm n := 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 := [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 31 " \+ l := dotprod(U,Xuu);" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 31 " \+ m := dotprod(U,Xuv);" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 31 " \+ n := dotprod(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 follows." }}}{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 " simplify((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 enter a function h which will be the pro file curve of a surface of revolution with parametrization " } {XPPEDIT 18 0 "x(u,v)=[h(u)*cos(v),h(u)*sin(v),g(u)]" "/-%\"xG6$%\"uG% \"vG7%*&-%\"hG6#F&\"\"\"-%$cosG6#F'F-*&-F+6#F&F--%$sinG6#F'F--%\"gG6#F &" }{TEXT -1 32 " and the parametrization itself." }}}{EXCHG {PARA 0 " > " 0 "" {MPLTEXT 1 0 22 "h:=t->h(t);g:=t->g(t);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 40 "surfrev:=[h(u)*cos(v),h(u)*sin(v),g(u)];" }}} {EXCHG {PARA 0 "" 0 "" {TEXT -1 61 "We can take the Gauss curvature us ing the GK procedure above." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 29 "gauss:=simplify(GK(surfrev));" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 42 "Of course we may assume the profile curve " }{XPPEDIT 18 0 "alpha= [h(u),0,g(u)]" "/%&alphaG7%-%\"hG6#%\"uG\"\"!-%\"gG6#F(" }{TEXT -1 32 " is unit speed. This means that " }{XPPEDIT 18 0 "diff(g(u),u)^2+diff (h(u),u)^2=1" "/,&*$-%%diffG6$-%\"gG6#%\"uGF+\"\"#\"\"\"*$-F&6$-%\"hG6 #F+F+\"\"#F-\"\"\"" }{TEXT -1 59 ". If we differentiate this expressio n on both sides, we get" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 48 " diff(diff(g(u),u)^2+diff(h(u),u)^2,u)=diff(1,u);" }}}{EXCHG {PARA 0 " " 0 "" {TEXT -1 135 "We can now simplify the Gauss curvature of the su rface of revolution using the two relations we have just found. The wa y to do this is " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 128 "gaussK :=simplify(gauss,\{diff(g(u),u)*diff(diff(g(u),u),u)=-diff(h(u),u)*dif f(diff(h(u),u),u), diff(g(u),u)^2+diff(h(u),u)^2=1\});" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 103 "So now we have an expression for the Gau ss curvature assuming the profile curve is unit speed. We want " } {XPPEDIT 18 0 "K=1" "/%\"KG\"\"\"" }{TEXT -1 88 " , so we solve the di fferential equation obtained when we set the curvature equal to 1. " } }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 28 "sol:=dsolve(gaussK=-1,h(u) );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 34 "h_ans:=expand(solve(s ol[2],h(u)));" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 60 "Let's put in som e initial conditions to make h_ans explicit." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 40 "hh:=eval(subs(\{_C1=0,_C2=ln(2)\},h_ans));" }}} {EXCHG {PARA 0 "" 0 "" {TEXT -1 17 "Now that we have " }{XPPEDIT 18 0 "h(u)=exp(u)" "/-%\"hG6#%\"uG-%$expG6#F&" }{TEXT -1 48 ", we get g(u) \+ by using the unit speed condition " }{XPPEDIT 18 0 "diff(g(u),u)^2+dif f(h(u),u)^2=1" "/,&*$-%%diffG6$-%\"gG6#%\"uGF+\"\"#\"\"\"*$-F&6$-%\"hG 6#F+F+\"\"#F-\"\"\"" }{TEXT -1 2 ". " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 68 "g_ans:=rhs(simplify(dsolve(diff(g(u),u)^2+diff(hh,u)^ 2=1,g(u))[1]));" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 24 "int(sqrt (1-exp(2*u)),u);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 22 "gg:=sub s(_C1=0,g_ans);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 105 "We can now pl ot the surface of revolution by substituting our functions into the su rfrev parametrization." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 141 " plot3d(subs(\{g(u)=gg,h(u)=hh\},surfrev),u=-2..0,v=0..2*Pi,style=patch ,scaling=constrained,shading=zhue,lightmodel=light3,orientation=[36,80 ]);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 44 "Let's try another set of i nitial conditions." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 42 "hh2:= eval(subs(\{_C1=-1,_C2=ln(2)\},h_ans));" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 17 "Now that we have " }{XPPEDIT 18 0 "h(u)=exp(u)+1/4/exp(u) " "/-%\"hG6#%\"uG,&-%$expG6#F&\"\"\"*(\"\"\"F+\"\"%!\"\"-F)6#F&F/F+" } {TEXT -1 48 ", we get g(u) by using the unit speed condition " } {XPPEDIT 18 0 "diff(g(u),u)^2+diff(h(u),u)^2=1" "/,&*$-%%diffG6$-%\"gG 6#%\"uGF+\"\"#\"\"\"*$-F&6$-%\"hG6#F+F+\"\"#F-\"\"\"" }{TEXT -1 2 ". \+ " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 70 "g_ans2:=rhs(simplify(ds olve(diff(g(u),u)^2+diff(hh2,u)^2=1,g(u))[1]));" }}}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 24 "gg2:=subs(_C1=0,g_ans2);" }}}{EXCHG {PARA 0 " " 0 "" {TEXT -1 179 "We can now plot the surface of revolution by subs tituting our functions into the surfrev parametrization. First we chec k that the square roots don't have negative numbers in them." }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 42 "evalf(solve(24*exp(-2*u)-16- exp(-4*u)=0));" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 39 "plot(24*e xp(-2*u)-16-exp(-4*u),u=0..2);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 78 "gg3:=-1/4*int(exp(-s)*((24*exp(-2*s)-16-exp(-4*s))*exp(4*s))^( 1/2),s=-1.5..u);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 148 "plot3d (subs(\{g(u)=gg3,h(u)=hh2\},surfrev),u=-1.5..0.18,v=0..2*Pi,style=patc h,scaling=constrained,shading=zhue,lightmodel=light3,orientation=[36,8 0]);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 247 "Here is a general proced ure for creating surfaces of revolution with constant negative curvatu re. Below, you will see what you have to do if you want the pseudosphe re. Note that we need something special for it to avoid negatives in s quare roots. " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 27 "plotnegcon stcurv:=proc(c,d)" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 289 "local X,desys ,gu,s,h,kk,init;\nif d=0 then h:=c*exp(u);\ns:=-2.5..ln(1/c) fi;\nif c >0 and d>0 then h:=2*sqrt(c*d)*cosh(u);\ns:=arcsinh(-1/(2*sqrt(c*d))). .arcsinh(1/(2*sqrt(c*d))) fi;\nif c>=0 and d<0 then h:=2*sqrt(-c*d)*si nh(u);\nkk:=c*d;\nif kk>=-1/4 then s:=0..arccosh(1/(2*sqrt(-c*d)))fi; \+ fi;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 26 "X:=[h*cos(v),h*sin(v),g]; " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 97 "desys:=dsolve(\{diff(g(u),u)=sqrt (1-diff(h,u)^2),g(0)=0\},g(u),\ntype=numeric,output=listprocedure):" } }{PARA 0 "> " 0 "" {MPLTEXT 1 0 22 "gu:=subs(desys,g(u)); " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 99 "plot3d(subs(g='gu'(u),X),u=s,v=0..2*Pi,scal ing=constrained,style=patch,\nshading=zhue,grid=[15,40]);" }}{PARA 0 " > " 0 "" {MPLTEXT 1 0 4 "end:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 22 "plotnegconstcurv(1,1);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 24 "plotnegconstcurv(0.5,1);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 34 "Let A=1, B=0 --- the pseudosphere." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 22 "plotnegconstcurv(1,0);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{MARK "48 0 0" 0 }{VIEWOPTS 1 1 0 1 1 1803 }