GlowScript
GlowScript is an intuitive website used to create 3D animations and share them on the web. Programs can be written right in your browser, stored on the cloud for free, and easily shared with a link.
GlowScript supports both VPython, JavaScript, and CoffeeScript, however for the purposes of this course, programs are written in VPython.
All labs are completed in GlowScript.
glowscript.org
Once signed in, select the bolded word here to open your programs.
You should be able to long in with your google account to see the different tabs for the public and private folders either to share with others the program that was done.
Example Programs provides examples of all the capabilities of the GlowScript website. It allows you to edit the programs and fix around the coding for your preference. Can see how others are using GlowScript. Link: https://www.glowscript.org/#/user/GlowScriptDemos/folder/Examples/
Forum opens a Google Group page where anyone can ask questions or voice concerns regarding the use of GlowScript. You can discuss with other members but responding time can take aa bit of time since it's through email. Link: https://groups.google.com/g/glowscript-users
Help in the upper right offers basic instructions on how to use the website including how to get started and how to use the text editor. shows you how to get started and be able to use the functions properly. Link: https://www.glowscript.org/docs/VPythonDocs/index.html
Writing a Program
Select Create New Program to create a new program in the desired folder. Names for programs cannot include spaces or underscores. New folders and programs can be set as either private or public.
Run this progam in the upper left will run the program.
Share or export this program opens a page containing instructions on the different ways available to share your code.cdd
Introduction to Vpython
Header
GlowScript 3.0 VPython is required in header to run Vpython.
Comments
A comment is a line of code that is not run.
Begin any line with # to create a comment. Comments are not only useful to the writer to help them keep track of their own code, comments also allow other people using your code to keep track of what your program is executing.
Deleting # from the beginning of a line of code will result in that line of code running next time the code is run.
Initialize new Variables
Use var and assign values.
var x, y x = 2 y = 3
3D Objects
Arrow
newArrow = arrow(pos=vec(x0, y0, z0), shaftwidth=1, axis_and_length=vec(x1, y1, z1))
This creates arrow that starts at point <x0, y0, z0> that points <x1, y1, z1>
Box
newBox = box(pos=vec(x0, y0, z0), size=vec(L, H, W))
This creates a box with a center <x0, y0, z0> and with size <L, H, W>
Sphere
newSphere = sphere(pos=vec(x0, y0, z0), size=vec(x1, y1, z1) )
This creates a box with a center <x0, y0, z0> and with size <x1, y1, z1>
Customizing Objects
Color
There are 10 default colors that can be used.
color.red, color.yellow, color.green, color.orange color.blue, color.cyan, color.magenta, color.purple color.black, color.white
Colors can be customized with the following code.
vec(1, 0.5, 0.3)
In this case, R is 1, G = 0.7, and B = 0.2, which has color of pastel orange.
Animation Speed
rate(50)
This line will halt each computations to have interval of 1.0/50.0 second.
Textures
There are 12 textures available to use.
textures.flower, textures.granite, textures.gravel, textures.metal, textures.rock, textures.rough, textures.rug, textures.stones, textures.stucco, textures.wood, textures.wood_old, textures.earth
For example, to make a box with a rug texture, the following code should be used.
box(texture=textures.rug)
You can also use an external image as your texture by inserting the image's URL.
texture="https://s3.amazonaws.com/glowscript/textures/flower_texture.jpg"
Example Program
This program runs in Trinket, a feature of GlowScript. When this program runs, a wood box and a sphere with a flower on it will appear next to each other.
<iframe src="https://trinket.io/embed/glowscript/6372be2c9e" width="100%" height="356" frameborder="0" marginwidth="0" marginheight="0" allowfullscreen></iframe>
Supported Environments
Browsers: Chrome, Firefox, Safari, Internet Explorer, and Edge. Chrome and Edge are recommended.
Devices: Most smart devices running Android or iOS.
Connectedness
GlowScirpt will be used in all labs to find ideal data that is compared to observed data.
History
David Scherer and Bruce Sherwood began working on GlowScript in May 2011. GlowScript 0.7 was released to the public in January of 2012. The website originally only ran using VPython, but grew to support JavaScript and CoffeeScript a year later. Website began supporting textures, then straight-lined shapes, text, and eventually curves. CoffeeScript was also removed due to its low use. GlowSript currently operates on version 3.0.
See Also
Further Reading
Below are links to other Physics Book pages that discuss VPython in much more depth.
VPython
VPython Basics
VPython Common Errors and Troubleshooting
VPython Functions
VPython Loops
VPython 3D Objects
External Links
GlowScript VPython tutorials by Rhett Allain
References
https://www.glowscript.org/docs/VPythonDocs/index.html
https://www.glowscript.org/docs/VPythonDocs/history.html