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
Last revision Both sides next revision
summer_2019:glowscript_tips [2019/08/07 05:39]
wellerd
summer_2019:glowscript_tips [2019/08/13 00:22]
wellerd
Line 23: Line 23:
   * **Printing values and text** - The ''​print()''​ command will output any value called from within the parentheses. You can print variables and attributes from your code as a way of checking what numbers the simulation has calculated. The following code creates a conical object named ''​IceCreamCone'',​ and the ''​print(IceCreamCone.size.x)''​ command prints the x-component of the object'​s size attribute. If you want to print text, it must be transformed into a "​string"​ of letters by using quotation marks within the ''​print()''​ command.   * **Printing values and text** - The ''​print()''​ command will output any value called from within the parentheses. You can print variables and attributes from your code as a way of checking what numbers the simulation has calculated. The following code creates a conical object named ''​IceCreamCone'',​ and the ''​print(IceCreamCone.size.x)''​ command prints the x-component of the object'​s size attribute. If you want to print text, it must be transformed into a "​string"​ of letters by using quotation marks within the ''​print()''​ command.
 <​code>​ <​code>​
-IceCreamCone=cone(pos=vec(10,​20,​0),​ axis=vec(5,​0,​0),​ size=vec(12,​3,​3)+IceCreamCone=cone(pos=vec(10,​20,​0),​ axis=vec(5,​0,​0),​ size=vec(12,​3,​3))
 print(IceCreamCone.size.x) print(IceCreamCone.size.x)
 print("​Two scoops of butter pecan please!"​) print("​Two scoops of butter pecan please!"​)
Line 29: Line 29:
  
 ==== Graphing ==== ==== Graphing ====
 +  * **Graphs** - the most convenient graphs in Glowscript utilize the ''​gcurve''​ command which plots x-y data points as a scatterplot and connects the points with a line. In general, Three lines of code are needed to graph in Glowscript...
 +  - A line above the while loop which creates the axes and titles of the graph (line 3 in the picture below).
 +  - A line above the while loop which tells the program what you are about to graph (line 4 in the picture below).
 +  - A line inside of the while loop which plots the respective x-y data point for that iteration of the while loop (line 19 in the picture below).
 +{{:​summer_2019:​python-trinket-physics.png?​400|}}
  
 +  * **Another graphing example** - In the following code, ''​MyGraph1''​ is needed to set up the graphing window with its various axes titles, minimum and maximum boundaries, and other features. The line with ''​HeightGraph''​ names a particular data-set that will be represented on our scatterplot. Lastly, **within the while loop**, the ''​HeightGraph.plot(t,​Cart.pos.y)''​ command is used to ''​plot''​ data points for our specified data-set (''​t''​ will be on the x-axis and ''​Cart.pos.y''​ will be on the y-axis).
 +<​code>​
 +MyGraph1 = graph(title='​Height vs Time', xtitle='​Time (s)', ytitle='​Height (m)', fast=False) #Name our graph and set some features
 +HeightGraph = gcurve(color=color.red,​ label='​Height'​) # Specifies a name for the data-set that we will be plotting
 +
 +Cart=box(pos=vec(0,​0,​0),​ size=vec(1,​1,​1),​color=color.magenta)
 +t=0
 +dt=1
 +while True:
 +    rate(100)
 +    Cart.pos=Cart.pos+vec(0,​1,​0)*dt
 +        ​
 +    # This line plots data points as the program iterates
 +    HeightGraph.plot(t,​Cart.pos.y) # t will be on the x-axis and Cart.pos.y will be on the y-axis
 +    ​
 +    t=t+dt
 +</​code>​
  
 ==== Programmer Logic ==== ==== Programmer Logic ====
-  ​* **If-then statements** - these statements check ''​if'' ​some condition ​is met, and if so, ''​then'' ​they carry out the subsequent lines of code.  are usually used to trigger some new event in your program+* **If-then statements** - these act as triggers to start some new event once a condition ​in met. For exampleit we have an object moving to the right with ''​particle.velocity=vec(1,​0,​0)'' ​and we want it to move in the opposite direction after 10 seconds, then you might use the following ​code. 
 +<​code>​ 
 +Particle = sphere(pos=vec(0,​0,​0)) 
 +Particle.velocity=vec(1,​0,​0)
  
 +t=0
 +dt=1
 +tf=20
 +
 +while t >= tf:
 +  rate(100)
 +  Particle.pos=Particle.pos+Particle.velocity*dt
 +
 +  if t >= 10:
 +    Particle.velocity=vec(-1,​0,​0)
 +
 +  t=t+dt
 +</​code>​
  
 ==== Mathematics ==== ==== Mathematics ====
  • summer_2019/glowscript_tips.txt
  • Last modified: 2019/08/13 00:27
  • by wellerd