VPython

From Wikipedia, the free encyclopedia
Visual (Python Library)
Original author(s)David Scherer
Initial release2000; 24 years ago (2000)
Stable release
7.5.2 / November 11, 2019; 4 years ago (2019-11-11)[1]
Written inC++, Python
Operating systemCross-platform
LicenseOpen source
Websitewww.vpython.org

VPython is Open Source, and a part of the Python Library, combining the Python programming language with a simple 3D graphics module called Visual.

This library application allows users to create 3D objects, such as spheres and cones, and then display these objects in an app window. This aids creation of simple visualizations, allowing programmers to focus more on the computational aspect of their programs. VPython is a common tool for the illustration of simple mathematics and physics, especially in educational environments, due to its simplicity and open source licensing.

History[edit]

The cT programming language was developed in 1985 by researchers at Carnegie Mellon University, with contributions from individuals such as David Andersen, Bruce Sherwood [eo], Judith Sherwood, and Kevin Whitley. Derived from predecessors like the TUTOR (1965) and the MicroTutor (1977) programming languages, cT found its primary application in generating 2D graphics within educational settings, particularly classrooms. Notably, numerous educational programs, including those recognized by awards like VISQ, were authored in cT, particularly in the realm of physics. In 1997, students at Carnegie Mellon University were introduced to cT through a newly devised introductory physics course led by Ruth Chabay and Bruce Sherwood.

In 1998, David Scherer entered the university as a freshman and enrolled in one of the introductory physics classes that used cT. Although cT offered a relatively easy 2D graphics programming environment, Scherer saw the possibility of creating an even better tool. In the spring and summer of 2000, with the assistance of David Andersen, Ruth Chabay, Ari Heitner, Ian Peters, and Bruce Sherwood, Scherer created Visual, a module for Python that was not only easier to use than the cT programming language, but also rendered objects in three dimensions. The combination of Python plus Visual is called VPython. Further development of the cT programming language was ended and the newly created VPython was used in its place. Since VPython's creation, several versions have been released to the public.

In 2016, developers announced[2][3] that classic VPython would no longer be developed. Instead, development will concentrate on Glowscript and Jupyter implementations of the language.

Usage[edit]

VPython is a simple rendering tool for 3D objects and graphs. Its main use has been in education, but it has also been used in commercial or research settings. VPython was first used in introductory physics courses at Carnegie Mellon and then spread to other universities and eventually high schools, especially in connection with the Matter & Interactions curriculum.

A related development due to David Scherer and Bruce Sherwood is GlowScript, which makes it possible to write and run VPython programs in a browser, including on mobile devices.

Objects[edit]

See the article on Python for Python syntax. This article will address several of the objects that are VPython specific. Click here for the complete documentation. The cylinder object is a good example of a simple VPython object. Here is an example of a simple cylinder as given in VPython's documentation (in older VPython implementations, the module to import is vpython, not visual):

from visual import *  # Import the visual module

rod = cylinder(pos=(0, 2, 1), axis=(5, 0, 0), radius=1)

Some similar objects offered by the VPython 3D rendering engine are the cone, sphere, and box objects. In addition to solid objects, VPython offers graphing tools as well. Here is an example of a simple graph in VPython as given in its documentation:

from visual.graph import *  # Import graphing features
from numpy import arange, cos, exp

funct1 = gcurve(color=color.cyan)  # A connected curve object

for x in arange(0., 8.1, 0.1):  # x goes from 0 to 8
    funct1.plot(pos=(x, 5. * cos(2. * x) * exp(-0.2 * x)))  # Plot

References[edit]

  1. ^ Sherwood, Bruce. "GlowScript VPython and VPython 7". Retrieved 11 November 2019.
  2. ^ "VPython". vpython.org. Retrieved 2016-07-20.
  3. ^ Sherwood, Bruce (25 January 2016). "The Evolution of VPython". Bruce Sherwood. Retrieved 20 July 2016.

External links[edit]