VPython makes it easy to create navigable 3D displays and animations, even for those with limited programming experience. Because it is based on Python, it also has much to offer for experienced programmers and researchers.
For a quick introduction, see these YouTube videos:
How to get started using VPython
New to Python and/or VPython? GlowScript VPython is a good place to start:
· Go to glowscript.org and create an account.
o You should see the sentence “You are signed in as <yourusername> and your programs are here." Click on "here”.
o Click on “Create New Program”. Name it “box”. Below the line
· Then click on “Run this program”. You will see a white box on a black background.
o Use the right button (or CTRL-drag left button) of the mouse to rotate the camera to view the scene from different angles.
o To zoom in and out use two buttons, or ALT/OPTION-drag, or the mouse scrollwheel. Touch screen: swipe or two-finger rotate; pinch/extend to zoom.
o Click on VPython Help to see what graphical objects are available.
Experienced Python / VPython user? Jupyter VPython uses the popular IPython/Jupyter professional programming environment:
· Install the Continuum Anaconda (or Enthought Canopy) Python distribution. We recommend choosing Anaconda with Python 3.x, especially if you already have “Classic” VPython / Python 2.7 installed on your machine (Canopy uses Python 2.7). If you are an expert Python user, you can install the IPython and Jupyter modules in your current Python installation; see jupyter.org.
· In a Power Shell or Command Prompt (Windows) or Terminal (Mac /
Linux) run this command:
· Write a test program: This short program will display a white box on a black background:
· Rotating and zooming the camera is the same as for GlowScript VPython; see above.
· Documentation: See the GlowScript VPython Help for documentation. The only GlowScript objects not yet implemented are extrusion and 3D text, though keyboard interactions are not yet enabled pending an understanding of the relationship to keyboard inputs being processed by the Jupyter notebook.
· Demo programs: Here is a zip file with a set of demo programs that now include the use of the same controls that are available in GlowScript VPython (button, radio button, checkbox, slider, and menu).
· There is a Binder package of some demo programs, which lets you run Jupyter VPython programs even on computers or mobile devices that do not have Python installed. Here is an explanation of the Binder mechanism. Because the Binder servers are shared among a large number of people, performance can vary a great deal from day to day and from hour to hour.
· Using conda to install VPython: Matt Craig provides an alternative way to install on Anaconda. For users who DO NOT have the Classic VPython Anaconda package installed: "conda install -c vpython vpython". To upgrade to a later version, execute "conda update -c vpython vpython".
· Those who DO have Classic VPython installed and want to keep it should instead create a new environment in which to try the new VPython: "conda create -c vpython -n vpython_jup_env vpython python". After creating the new environment you will need to activate it to try out the new VPython.
How GlowScript VPython and Jupyter VPython differ from Classic VPython
· Vectors must be represented as vector(x,y,z) or vec(x,y,z), not as (x,y,z).
· The name display has been changed to canvas (for technical reasons).
· The name gdisplay has been changed to graph.
· curve objects and points objects have a new set of methods.
In the VPython Help at glowscript.org is a conversion program to convert from Classic to GlowScript syntax; It does an imperfect but useful job of dealing with the main differences.
To Download Classic VPython:
· Click the appropriate Download option on this page, and follow the instructions. Rotating and zooming the camera is the same as for GlowScript VPython except that neither touch nor the mouse scrollwheel are supported.
· Classic VPython will remain available, but will not henceforth be updated.
More information about VPython and future developments
· Here is a description of the plan for future development of VPython.
Descriptions of the Classic VPython options available at the top of the left margin: