VPython3D
Programming for Ordinary Mortals

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.

·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:pip
install vpython

There will be frequent updates to this module. You can get the latest version this way:
pip
install vpython --upgrade

Create a Jupyter notebook: There are two ways to start a Jupyter notebook. In a terminal, execute "jupyter notebook". Or (depending on what operating system you're using), doubleclick the icon "Jupyter Notebook" that is shown as one of the Anaconda-related tools. At the right there is a pulldown menu to create a New notebook, and if you choose "VPython" you will get the following imports (you can change the notebook type through the menu Kernel > Change kernel):from
__future__ import division, print_function
from math import *

·Write a test program: This short program will display a white box on a black background:from vpython
import *box()

Running a VPython program: Click in the first cell (containing the vpython import statement), then click the run icon, the one that is a rightward-facing triangle touching a vertical line. Currently, to re-run a VPython program you need to click the circular arrow icon to "restart the kernel"
and then click the red-highlighted button, then click in the first cell, then click the run icon. It is intended to make this much simpler in the future by customizing the Jupyter notebook.

·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.

User forum. (Until Feb. 2013, there was a mailing list whose archives may be found at https://sourceforge.net/mailarchive/forum.php?forum_name=visualpython-users. Please do not write to that list; instead post on the User forum.)