{VERSION 5 0 "APPLE_PPC_MAC" "5.0" } {USTYLETAB {CSTYLE "Maple Input" -1 0 "Courier" 0 1 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 1 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 257 "" 1 10 0 0 0 0 1 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 258 "" 1 18 0 0 0 0 1 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 259 "" 1 18 0 0 0 0 1 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 260 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 } {CSTYLE "" -1 261 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 262 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 263 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 264 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 }{PSTYLE "Normal" -1 0 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 }1 1 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "Heading 1 " -1 3 1 {CSTYLE "" -1 -1 "Times" 1 18 0 0 0 1 2 1 2 2 2 2 1 1 1 1 }1 1 0 0 6 6 1 0 1 0 2 2 0 1 }{PSTYLE "Normal" -1 256 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 }3 1 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "PageBreak" -1 257 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 }1 1 0 0 0 0 1 0 1 0 1 2 0 1 }} {SECT 0 {EXCHG {PARA 256 "" 0 "" {TEXT 256 12 "EARTH HOCKEY" }}{PARA 256 "" 0 "" {TEXT 259 11 "Tevian Dray" }}{PARA 0 "" 0 "" {TEXT -1 0 " " }}{PARA 256 "" 0 "" {TEXT 257 34 "copyright 1998-2000 by Tevian Dray " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 256 "" 0 "" {TEXT 258 41 "Wh ich way does the hockey puck really go?" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{SECT 1 {PARA 3 "" 0 "" {TEXT -1 14 "Initialization" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "restart:with(plots):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1691 "# EarthHockey\n\nss:=sphereplot(1 ,phi=0..2*Pi,theta=0..Pi/2,color=grey):\n\n# Geodesic: psi=angle on ge odesic; beta=angle to equator\nF:=proc(psi,beta)\n [cos(psi),sin(psi) *cos(beta),sin(psi)*sin(beta)]\nend:\n\n# Rotated geodesic: turn=rotat ion in xy-plane\nG:=proc(psi,beta,turn)\n local tmp1,tmp2:\n tmp1:=F (psi,beta)[1]:\n tmp2:=F(psi,beta)[2]:\n [cos(turn)*tmp1-sin(turn)*t mp2,sin(turn)*tmp1+cos(turn)*tmp2,F(psi,beta)[3]]\nend:\n\n# Angle to \+ equator: alpha=angle to latitude=lambda IN NONROTATING FRAME\nB:=proc( lambda,alpha)\n arccos(cos(lambda)*cos(alpha))\nend:\n\n# Angle to eq uator: gamma=angle to latitude=lambda IN ROTATING FRAME\nRB:=proc(Omeg a,lambda,gamma)\n arccos(Omega*cos(lambda)^2*sin(gamma)^2\n + cos(lambda)*cos(gamma)\n *sqrt(-Omega^2*cos(lambda)^2*sin(gam ma)^2+1))\nend:\n\n# lambda=lat, alpha=angle\nGeod:=proc(lat,angle,ste ps,rot)\n local ROT,TT,TTg,TTb,TTr,i,t:\n ROT:=-rot:\n TT:=[seq(0,i =0..steps)]:\n TT[1]:=display(ss,spacecurve([1,0,theta],coords=spheri cal,theta=0..Pi/2,\n\011\011\011\011color=green,thickness=5)):\n for \+ i from 1 to steps do\n TTg[i]:=spacecurve([1,-Pi*ROT*i/steps,theta] ,coords=spherical,theta=0..Pi/2,\n\011\011\011color=green,thickness=5) :\n TTb[i]:=spacecurve(F(phi,B(lat,angle)),\n\011\011\011phi=0..Pi* i/steps,color=blue,thickness=5):\n TTr[i]:=spacecurve(G(t,B(lat,ang le),t*ROT-ROT*Pi*i/steps),\n\011\011\011t=0..Pi*i/steps,color=red,thic kness=5):\n TT[i+1]:=display(TTg[i],TTb[i],TTr[i],ss):\n od:\n di splay(TT,scaling=constrained,insequence=true,style=wireframe);\nend:\n \n# convert gamma=Rangle to alpha=angle using Omega=rot, then run Geod \nRGeod:=proc(lat,Rangle,steps,rot)\n local angle:\n angle:=arccos(c os(RB(rot,lat,Rangle))/cos(lat)):\n Geod(lat,angle,steps,rot)\nend:\n \n" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 0 "" } }}{SECT 1 {PARA 3 "" 0 "" {TEXT -1 5 "Demos" }}{PARA 0 "" 0 "" {TEXT -1 78 "Imagine the Earth as a smooth hockey rink. What happens when t he puck is hit?" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 105 "First, we set some parameters. The angular velocity of \+ the Earth (in radians/second) will be denoted by " }{XPPEDIT 18 0 "Ome ga" "6#%&OmegaG" }{TEXT -1 2 "; " }{XPPEDIT 18 0 "Omega" "6#%&OmegaG" }{TEXT -1 17 " is positive for " }{TEXT 261 16 "counterclockwise" } {TEXT -1 143 " rotation as seen looking down at the North Pole from ab ove, corresponding to west-to-east rotation. The total number of pict ures is given by " }{XPPEDIT 18 0 "N" "6#%\"NG" }{TEXT -1 23 "; a reas onable value is" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 6 "N:=10;" }} }{PARA 0 "" 0 "" {TEXT -1 55 "(A smoother animation is obtained for la rger values of " }{XPPEDIT 18 0 "N" "6#%\"NG" }{TEXT -1 2 "; " } {XPPEDIT 18 0 "N=10" "6#/%\"NG\"#5" }{TEXT -1 41 " works fairly well. \+ But large values of " }{XPPEDIT 18 0 "N" "6#%\"NG" }{TEXT -1 74 " may also take significantly longer to run. See what works well for you.) " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 60 "Choos e how you want the graphics to be displayed, using any " }{TEXT 260 3 "one" }{TEXT -1 18 " of the following:" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 18 "plotsetup(inline):" }{TEXT -1 26 " (graphs in wor ksheet)" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 18 "plotsetup(window ):" }{TEXT -1 29 " (graphs in Maple window)" }}}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 15 "plotsetup(x11):" }{TEXT -1 41 " (gr aphs in separate X window)" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 386 " In the figures you will construct, the blue arrow represents the motio n of the puck as seen by an inertial observer, while the red curve rep resents the motion as seen by the rotating observer. (The green curve is to help you keep track of the rotation.) Think of the tip of the \+ blue curve as containing red dye which writes on the Earth as the Eart h rotates beneath the (moving) puck." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 69 "The demo shows what the nonrotating obs erver sees, and takes the form" }}{PARA 256 "" 0 "" {TEXT -1 1 " " } {XPPEDIT 18 0 "Geod(latitude,angle,N,Omega" "6#-%%GeodG6&%)latitudeG%& angleG%\"NG%&OmegaG" }{TEXT -1 1 " " }}{PARA 0 "" 0 "" {TEXT -1 6 "Her e, " }{XPPEDIT 18 0 "N" "6#%\"NG" }{TEXT -1 2 ", " }{XPPEDIT 18 0 "Ome ga" "6#%&OmegaG" }{TEXT -1 23 " are as defined above, " }{XPPEDIT 18 0 "latitude" "6#%)latitudeG" }{TEXT -1 42 " denotes the initial (North ern) latitude, " }{XPPEDIT 18 0 "angle" "6#%&angleG" }{TEXT -1 68 " de notes the initial angle of motion (both in radians) as seen by a " } {TEXT 262 11 "nonrotating" }{TEXT -1 10 " observer." }}{PARA 0 "" 0 " " {TEXT -1 62 "You can also specify the initial angle of motion as see n by a " }{TEXT 263 8 "rotating" }{TEXT -1 15 " observer using" }} {PARA 256 "" 0 "" {TEXT -1 1 " " }{XPPEDIT 18 0 "RGeod(latitude,Rangle ,N,Omega" "6#-%&RGeodG6&%)latitudeG%'RangleG%\"NG%&OmegaG" }{TEXT -1 1 " " }}{PARA 0 "" 0 "" {TEXT -1 32 "which simply converts the angle \+ " }{TEXT 264 6 "Rangle" }{TEXT -1 59 " from the rotating to the nonrot ating frame and calls Geod." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 274 "Please note that the motion is actually shown \+ starting and ending at the Equator, but passing through the given lat itude at the given angle. Furthermore, rather than changing the veloc ity of the puck, it turns out to be easier (to program!) to change the angular velocity " }{XPPEDIT 18 0 "Omega" "6#%&OmegaG" }{TEXT -1 241 " of the Earth. In particular, while you can't get the puck to go in \+ the other direction, you can turn the Earth around! (You can, of cour se, change the point of view after creating the animation. If you are unsure how to do this, see me.)" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {PARA 0 "" 0 "" {TEXT -1 16 "For example, try" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "Geod(Pi/4,Pi,N,1.5);" }}}{EXCHG {PARA 257 "" 0 " " {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "Geod(0,15 *Pi/32,N,3);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 22 "RGeod(Pi/4,Pi/2,N,.5);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "G eod(Pi/4,Pi/2,N,.5);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}}{MARK "0 1 0" 0 }{VIEWOPTS 1 1 0 3 2 1804 1 1 1 1 } {PAGENUMBERS 0 1 2 33 1 1 }