GlowScript: Difference between revisions

From Physics Book
Jump to navigation Jump to search
No edit summary
No edit summary
Line 3: Line 3:
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.<br>
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.<br>
GlowScript supports both VPython, JavaScript, and CoffeeScript, however for the purposes of this course, programs are written in VPython.<br><br>
GlowScript supports both VPython, JavaScript, and CoffeeScript, however for the purposes of this course, programs are written in VPython.<br><br>
All labs are completed in GlowScript.
All labs are completed in GlowScript.<br>


== glowscript.org ==
== glowscript.org ==
Line 41: Line 41:
  x = 2
  x = 2
  y = 3
  y = 3


=== 3D Objects ===
=== 3D Objects ===
Line 56: Line 55:
  newSphere = sphere(pos=vec(x0, y0, z0), size=vec(x1, y1, z1) )
  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><br><br>
This creates a box with a center <x0, y0, z0> and with size <x1, y1, z1><br><br>


=== Customizing Objects ===
=== Customizing Objects ===
Line 65: Line 63:
  color.blue, color.cyan, color.magenta, color.purple
  color.blue, color.cyan, color.magenta, color.purple
  color.black, color.white
  color.black, color.white
Colors can be customized by user by using following code.
Colors can be customized with the following code.
  vec(1, 0.5, 0.3)
  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.<br><br>
In this case, R is 1, G = 0.7, and B = 0.2, which has color of pastel orange.<br><br>
Line 72: Line 70:
  rate(50)
  rate(50)
This line will halt each computations to have interval of 1.0/50.0 second.
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"


== Supported Environments ==
== Supported Environments ==

Revision as of 20:16, 15 November 2020

Claimed by Autumn Toms Fall 2020

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.

Example Programs provides examples of all the capabilities of the GlowScript website.

Forum opens a Google Group page where anyone can ask questions or voice concerns regarding the use of GlowScript.

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.

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.

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"


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

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

References

https://www.glowscript.org/docs/VPythonDocs/index.html
https://www.glowscript.org/docs/VPythonDocs/history.html