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
2020:genesee_friction_activity_snippets [2020/02/12 06:47]
wellerd
2020:genesee_friction_activity_snippets [2020/02/12 13:49] (current)
wellerd
Line 3: Line 3:
 Here is a link to the google doc where you can find more details on the activity: [[https://​docs.google.com/​document/​d/​1yGWHwJ3tRL8yq5J3BD2bIPrBk04dghvQxNl029No9xY/​edit?​usp=sharing | GISD Workday Activity]] Here is a link to the google doc where you can find more details on the activity: [[https://​docs.google.com/​document/​d/​1yGWHwJ3tRL8yq5J3BD2bIPrBk04dghvQxNl029No9xY/​edit?​usp=sharing | GISD Workday Activity]]
  
-Below we have provided some snippets of code you can use by copying into your own glowscript window, modifying the code, and running the program. Any line of code with a # in front of it is simply a comment (or an editor'​s note) that defines what the line will make the computer do.+Below we have provided some snippets of code you can use by copying into your own Glowscript program, modifying the code, and running the program. Any code with a # in front of it is simply a comment (i.e., an editor'​s note) that defines what the line will make the computer do. The first line of a Glowscript code must always be... 
 + 
 +<​code>​ 
 +GlowScript 2.9 VPython  
 +</​code>​
  
 ==== Objects ==== ==== Objects ====
Line 22: Line 26:
 v = vector(3,​0,​0) v = vector(3,​0,​0)
  
-#Define the time variables (initial time, time-step, final time) for the while loop +#Define the time variables (initial time, time-step, final time) 
-t = 0+t = 0 
 dt = 0.01 dt = 0.01
 tf = 2 tf = 2
Line 33: Line 37:
 #While loop to iterate over time until we reach the final time #While loop to iterate over time until we reach the final time
 while t < tf: while t < tf:
 +    ​
     #Rate keeps animation slow enough to view     #Rate keeps animation slow enough to view
-    rate(100)  +    rate(100) 
 +    
     #Position update step to predict location of box after a time-step dt base on v     #Position update step to predict location of box after a time-step dt base on v
     MyBox.pos = MyBox.pos + v*dt     MyBox.pos = MyBox.pos + v*dt
Line 43: Line 48:
 </​code>​ </​code>​
  
 +==== Graphing ====
  
-==== Physics ==== +Here is some code you can use to graph physical quantities in real-time with the animation, such as position or kinetic energy.
- +
-Here is some code you can repurpose ​to make objects slow down using friction (after defining some variables and calculations).+
  
 <​code>​ <​code>​
 +#Create graph object for position
 +PositionGraph = gcurve(color=color.red)
 +
 #While loop to iterate over time #While loop to iterate over time
 while t < tf: while t < tf:
-    rate(100) #Keeps animation slow enough to view 
     ​     ​
-    #Velocity update step to predict velocity of box after a time-step dt +    #Rate keeps animation slow enough ​to view 
-    ​v = v + a*dt+    ​rate(100)
     ​     ​
     #Position update step to predict location of box after a time-step dt     #Position update step to predict location of box after a time-step dt
     MyBox.pos = MyBox.pos + v*dt     MyBox.pos = MyBox.pos + v*dt
     ​     ​
-    ​t = t + dt #Update the time to go on to the next time-step after the position ​update +    #Add a data point to our graph for with the position ​at time t 
-</​code>​ +    ​PositionGraph.plot(t,MyBox.pos.x)
- +
- +
-==== Graphing ==== +
- +
-Here is some code you can use to graph physical quantities in real-time with the animation, such as kinetic energy. +
- +
-<​code>​ +
-GlowScript 2.9 VPython +
-#This snippet of code will plot kinetic energy in a while loop +
- +
-#Assign MyBox a velocity, acceleration,​ and mass +
-Velocity = vector(5,0,0) +
-Acceleration = vector(0.5,0,0) +
-Mass = 50 +
- +
-#Set up the time variables for the while loop +
-t = 0 +
-dt = 0.01 +
-tf = 2 +
- +
-#Create graph object +
-Kgraph = gcurve(color=color.red) +
- +
-#While loop to iterate over time +
-while t < tf: +
-    rate(100) #Keeps animation slow enough to view+
     ​     ​
-    ​#Position update step to predict location of box after a time-step dt +    #Update the time to go on to the next time-step after the position update 
-    Velocity = Velocity + Acceleration*dt +    t = t + dt
-     +
-    #Calculate kinetic energy at this time +
-    K = 0.5*Mass*mag(Velocity)**2 +
-     +
-    #Add a data point to our graph for the kinetic energy at time t +
-    Kgraph.plot(t,​K) +
-     +
-    t = t + dt #Update the time to go on to the next time-step after the position update+
 </​code>​ </​code>​
  • 2020/genesee_friction_activity_snippets.1581490074.txt.gz
  • Last modified: 2020/02/12 06:47
  • by wellerd