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...
  
-==== Creating a box ====+<​code>​ 
 +GlowScript 2.9 VPython  
 +</​code>​ 
 + 
 +==== Objects ​====
  
 Here is some code you can use and modify to create objects like blocks and platforms. Here is some code you can use and modify to create objects like blocks and platforms.
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.1581490051.txt.gz
  • Last modified: 2020/02/12 06:47
  • by wellerd