Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Last revision Both sides next revision | ||
summer_2018:vpython_tips [2021/06/24 15:05] bott123 [Common Commands] |
summer_2018:vpython_tips [2021/06/24 16:02] pwirving |
||
---|---|---|---|
Line 63: | Line 63: | ||
print(CD) #This will print out the vector (-8, 9, -8) | print(CD) #This will print out the vector (-8, 9, -8) | ||
</code> | </code> | ||
- | * **Graphing** - There are a few ways to graph in python, but a common method is via gcurve. If the values you wish to plot are changing over time in a loop, be sure to put the plot command in the loop with them, and plot each point for each iteration of the loop. | + | |
+ | /* | ||
+ | |||
+ | There are a few ways to graph in python, but a common method is via gcurve. If the values you wish to plot are changing over time in a loop, be sure to put the plot command in the loop with them, and plot each point for each iteration of the loop.*/ | ||
<code> | <code> | ||
ExampleGraph = gcurve(color=color.green, label = 'Data Points') #First, define the graph. | ExampleGraph = gcurve(color=color.green, label = 'Data Points') #First, define the graph. | ||
ExampleGraph.plot([1,2],[3,4],[5,6]) #This will plot the three points listed, connected by a line. | ExampleGraph.plot([1,2],[3,4],[5,6]) #This will plot the three points listed, connected by a line. | ||
</code> | </code> | ||
- | * **MotionMaps** - MotionMaps track an object and plant arrows in a trail behind the object. The size and direction of the arrows is controllable, so it can be a useful method to demonstrate any vector quantity of an object, such as velocity or Force. MUST use GlowScript version 2.7, 2.8, or 2.9; any later versions will not import properly. | + | |
+ | */ | ||
+ | |||
+ | * **Graphing** - One method of graphing involves using physutil, which is a library that needs to be imported. From there, the syntax is similar to gcurve. MUST use GlowScript 2.9 or lower; anything higher will not import properly. | ||
<code> | <code> | ||
- | get_library('https://cdn.rawgit.com/PERLMSU/physutil/master/js/physutil.js') #Imports the MotionMap code from its source | + | get_library('https://cdn.rawgit.com/PERLMSU/physutil/master/js/physutil.js') #Imports physutil |
+ | |||
+ | MassOfBall = 20 | ||
+ | SpeedOfBall = 10 | ||
+ | |||
+ | t=0 | ||
+ | dt=0.1 | ||
+ | tf=10 | ||
+ | |||
+ | ExampleGraph2 = PhysGraph(numPlots = 1) #Defines graph window | ||
+ | |||
+ | while t < tf: | ||
+ | rate(50) | ||
+ | |||
+ | KineticEnergy = 0.5*MassOfBall*SpeedOfBall**2 | ||
+ | ExampleGraph2.plot(t, KineticEnergy) #Plot function is identical | ||
+ | SpeedOfBall = SpeedOfBall - 0.5 | ||
+ | |||
+ | t = t+ dt | ||
+ | </code> | ||
+ | * **MotionMaps** - MotionMaps track an object and plant arrows in a trail behind the object. The size and direction of the arrows is controllable, so it can be a useful method to demonstrate any vector quantity of an object, such as velocity or Force. MUST use GlowScript 2.9 or lower; anything higher will not import properly. | ||
+ | <code> | ||
+ | get_library('https://cdn.rawgit.com/PERLMSU/physutil/master/js/physutil.js') #Imports physutil | ||
Moving_Sphere = sphere(pos=vector(0,0,0), radius = 0.5, color = color.cyan) #The object we want to place arrows for, a cyan sphere. | Moving_Sphere = sphere(pos=vector(0,0,0), radius = 0.5, color = color.cyan) #The object we want to place arrows for, a cyan sphere. |