Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
repository:inner_tube_river_crossing [2021/02/18 19:46]
porcaro1 [Activity Information]
repository:inner_tube_river_crossing [2021/02/18 19:54] (current)
porcaro1 [Answer Key]
Line 24: Line 24:
 It is a hot summer day, and you are meeting your friends for a picnic lunch down by the river. When you get to the river, you discover you are on the wrong side, 20 meters from the picnic site. As an experienced inner tuber, you know that you can paddle your tube at a speed of 2.0 m/s. Additionally,​ you know the river moves westward at a speed of 1.5 m/s. Your friends have already started the grill and your meal will be ready in 15 seconds. ​ It is a hot summer day, and you are meeting your friends for a picnic lunch down by the river. When you get to the river, you discover you are on the wrong side, 20 meters from the picnic site. As an experienced inner tuber, you know that you can paddle your tube at a speed of 2.0 m/s. Additionally,​ you know the river moves westward at a speed of 1.5 m/s. Your friends have already started the grill and your meal will be ready in 15 seconds. ​
  
-You have an [[https://​www.glowscript.org/#/​user/​jbennett/folder/Private/program/relativemotionstudentversion ​| app]] that lets you enter your velocity and the velocity of the river to determine your net velocity. For the following questions, calculate the answer and check your results with the code.+You have an [[https://​www.glowscript.org/#/​user/​porcaro1/folder/RepositoryPrograms/program/InnerTubeRiverCrossing-Incomplete ​| app]] that lets you enter your velocity and the velocity of the river to determine your net velocity. For the following questions, calculate the answer and check your results with the code.
   - If you were to get in the river and begin paddling directly across, what velocity (magnitude and direction) do your friends see you moving relative to the shore? ​   - If you were to get in the river and begin paddling directly across, what velocity (magnitude and direction) do your friends see you moving relative to the shore? ​
   - How long does it take to cross the river? If the river had a faster current, how would this affect the time it takes you to get across? ​   - How long does it take to cross the river? If the river had a faster current, how would this affect the time it takes you to get across? ​
Line 46: Line 46:
  
 ===Code=== ===Code===
-[[https://​www.glowscript.org/#/​user/​jbennett/folder/Private/program/relativemotionstudentversion ​| Link]]+[[https://​www.glowscript.org/#/​user/​porcaro1/folder/RepositoryPrograms/program/InnerTubeRiverCrossing-Incomplete ​| Link]]
 <code Python [enable_line_numbers="​true"​]>​ <code Python [enable_line_numbers="​true"​]>​
 GlowScript 2.7 VPython GlowScript 2.7 VPython
Line 152: Line 152:
   - They never appear because these prompts only show once the while loop is completed. Since the tube never crosses the river, the while loop never stops   - They never appear because these prompts only show once the while loop is completed. Since the tube never crosses the river, the while loop never stops
 ===Code=== ===Code===
-[[https://​www.glowscript.org/#/​user/​jbennett/folder/Private/program/relativemotionstudentversion ​| Link]] +[[https://​www.glowscript.org/#/​user/​porcaro1/folder/RepositoryPrograms/program/InnerTubeRiverCrossing-Solution ​| Link]] ​\\ 
-Note: No lines of code are added, only modified on a problem-to-problem basis, and these are what are highlighted below.+**Note**: No lines of code are added, only modified on a problem-to-problem basis, and these are what are highlighted below.
 <code Python [enable_line_numbers="​true",​ highlight_lines_extra="​12,​23,​24,​25,​37"​]>​ <code Python [enable_line_numbers="​true",​ highlight_lines_extra="​12,​23,​24,​25,​37"​]>​
 GlowScript 2.7 VPython GlowScript 2.7 VPython
 get_library('​https://​rawgit.com/​perlatmsu/​physutil/​master/​js/​physutil.js'​) get_library('​https://​rawgit.com/​perlatmsu/​physutil/​master/​js/​physutil.js'​)
 + 
 #Window setup #Window setup
 scene.range = 20 scene.range = 20
Line 163: Line 163:
 scene.height = 500 scene.height = 500
 scene.background=vector(0,​0.7,​0.1) scene.background=vector(0,​0.7,​0.1)
- +  
 + 
 #Objects #Objects
 w=20   #the width of the river w=20   #the width of the river
Line 174: Line 174:
 label(pos=vec(tube.pos.x,​w/​2,​0),​ text='​picnic site', color=color.black ) label(pos=vec(tube.pos.x,​w/​2,​0),​ text='​picnic site', color=color.black )
 label(pos=vec(-10,​-10,​0),​ text='​click to run', color=color.black ) label(pos=vec(-10,​-10,​0),​ text='​click to run', color=color.black )
- +  
 + 
 #Parameters and Initial Conditions #Parameters and Initial Conditions
-tubes=  #the magnitude of the tube's velocity +tubes=  #the magnitude of the tube's velocity 
-riverv = vector(0.5,​0,​0) ​  #the velocity of the river+riverv = vector(-1.5,​0,​0) ​  #the velocity of the river
 degrees=0 ​  #the launch angle with respect to the shore degrees=0 ​  #the launch angle with respect to the shore
 theta=degrees*pi/​180 theta=degrees*pi/​180
Line 185: Line 185:
 tubev=vec(tubesx,​tubesy,​0) tubev=vec(tubesx,​tubesy,​0)
 scale=1.0 scale=1.0
- +  
- +  
 + 
 #Time and time step #Time and time step
 t = 0 t = 0
 tf = 3 tf = 3
 dt = 0.01   #​adjusts the smoothness of motion dt = 0.01   #​adjusts the smoothness of motion
 + 
 tubeMotionMapx = MotionMap(tube,​ tf, 2, markerScale=scale,​ markerColor=color.blue,​ labelMarkerOrder=False) tubeMotionMapx = MotionMap(tube,​ tf, 2, markerScale=scale,​ markerColor=color.blue,​ labelMarkerOrder=False)
 tubeMotionMapy= MotionMap(tube,​ tf, 2, markerScale=scale,​ markerColer=color.red,​ labelMarkerOrder=False,​ ) tubeMotionMapy= MotionMap(tube,​ tf, 2, markerScale=scale,​ markerColer=color.red,​ labelMarkerOrder=False,​ )
 tubeMotionMapr= MotionMap(tube,​ tf, 2, markerScale=scale,​ markerColor=color.green,​ labelMarkerOrder=False) tubeMotionMapr= MotionMap(tube,​ tf, 2, markerScale=scale,​ markerColor=color.green,​ labelMarkerOrder=False)
 + 
 ev = scene.waitfor('​click'​) ev = scene.waitfor('​click'​)
 + 
 #​Calculation Loop #​Calculation Loop
 while tube.pos.y<​w/​2: ​ while tube.pos.y<​w/​2: ​
Line 205: Line 205:
     tube.pos = tube.pos + tubev*dt     tube.pos = tube.pos + tubev*dt
     tube.pos = tube.pos + riverv*dt     tube.pos = tube.pos + riverv*dt
 + 
 #Set up motion map #Set up motion map
     relv = riverv + tubev     relv = riverv + tubev
Line 211: Line 211:
     tubeMotionMapx.update(t,​ tubev)     tubeMotionMapx.update(t,​ tubev)
     tubeMotionMapy.update(t,​ riverv)     tubeMotionMapy.update(t,​ riverv)
- +  
 + 
     t = t + dt     t = t + dt
-    ​+ 
 #determine angle #determine angle
 angle=atan(mag(riverv)/​mag(tubev))*(180/​pi) angle=atan(mag(riverv)/​mag(tubev))*(180/​pi)
 + 
 #label #label
 print("​time to cross =", t , "​s"​) print("​time to cross =", t , "​s"​)
  • repository/inner_tube_river_crossing.1613677580.txt.gz
  • Last modified: 2021/02/18 19:46
  • by porcaro1