Vpython
Encyclopedia
VPython is the Python programming language
Python (programming language)
Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to "[combine] remarkable power with very clear syntax", and its standard library is large and comprehensive...

 plus a 3D graphics module called Visual. VPython allows users to create objects such as spheres and cones in 3D space and displays these objects in a window. Real-time, navigable 3D animations are generated as a side effect of computations. This makes it easy to create simple visualizations, allowing programmers to focus more on the computational aspect of their programs. The simplicity of VPython has made it a tool for the illustration of simple physics, especially in the educational environment.

History

In 1985, the cT programming language was created by researchers at Carnegie Mellon University
Carnegie Mellon University
Carnegie Mellon University is a private research university in Pittsburgh, Pennsylvania, United States....

 in Pittsburgh. Contributors to the project included David Andersen, Bruce Sherwood, Judith Sherwood, and Kevin Whitley. The cT programming language was largely spawned from the TUTOR (1965) and the MicroTutor (1977) programming languages. Although cT had many applications, its primary usage was 2D graphics
2D computer graphics
2D computer graphics is the computer-based generation of digital images—mostly from two-dimensional models and by techniques specific to them...

 for the classroom setting. It was especially well suited for physics. In 1997, students at Carnegie Mellon
Carnegie Mellon University
Carnegie Mellon University is a private research university in Pittsburgh, Pennsylvania, United States....

 were taught cT in a new introductory physics course created 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
Python (programming language)
Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to "[combine] remarkable power with very clear syntax", and its standard library is large and comprehensive...

 that was not only easier to use than the cT programming language, but also rendered objects in three dimensions
3D computer graphics
3D computer graphics are graphics that use a three-dimensional representation of geometric data that is stored in the computer for the purposes of performing calculations and rendering 2D images...

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

Usage

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
Carnegie Mellon University
Carnegie Mellon University is a private research university in Pittsburgh, Pennsylvania, United States....

 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 was inspired by VPython and offers a similar selection of 3D objects (box, cylinder, etc.) for JavaScript programs, using the WebGL 3D graphics library available in many current browsers. The intent is to make it easy to write navigable real-time 3D animations that run in a web browser page, whereas VPython programs, being based on Python, do not run in browsers. There is a Python program that does a partial conversion from VPython to GlowScript.

Objects

See the article on Python
Python (programming language)
Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to "[combine] remarkable power with very clear syntax", and its standard library is large and comprehensive...

 for Python syntax. This article will address several of the objects
Object-oriented programming
Object-oriented programming is a programming paradigm using "objects" – data structures consisting of data fields and methods together with their interactions – to design applications and computer programs. Programming techniques may include features such as data abstraction,...

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:



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

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


The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK