<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://www.physicsbook.gatech.edu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Scmcn22</id>
	<title>Physics Book - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="http://www.physicsbook.gatech.edu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Scmcn22"/>
	<link rel="alternate" type="text/html" href="http://www.physicsbook.gatech.edu/Special:Contributions/Scmcn22"/>
	<updated>2026-05-01T07:56:35Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.42.7</generator>
	<entry>
		<id>http://www.physicsbook.gatech.edu/index.php?title=VPython&amp;diff=28088</id>
		<title>VPython</title>
		<link rel="alternate" type="text/html" href="http://www.physicsbook.gatech.edu/index.php?title=VPython&amp;diff=28088"/>
		<updated>2017-04-09T19:31:46Z</updated>

		<summary type="html">&lt;p&gt;Scmcn22: /* Creating VPython Objects */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Claimed by Scott McNeill&lt;br /&gt;
&lt;br /&gt;
VPython is a Python graphics module used for modeling objects in 3-dimensional space.  In the field of physics, this is especially useful for calculating and modeling complex relationships between objects and their properties.&lt;br /&gt;
&lt;br /&gt;
[[File:VPythonMagneticForceAnimated.gif|thumb|VPython modeling the magnetic force on a moving particle]]&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
&lt;br /&gt;
VPython is compatible with Windows, OSX, and Linux.  While there is an older VPython version available that supports Python 3, the Georgia Tech physics courses use Python 2 syntax so it is recommended to install the latest version of VPython as outlined below.&lt;br /&gt;
&lt;br /&gt;
===Windows===&lt;br /&gt;
[[File:VPythonWindows.png|thumb|VPython running in Windows 7]]&lt;br /&gt;
&lt;br /&gt;
1. Install [http://python.org/ftp/python/2.7.9/python-2.7.9.amd64.msi Python-2.7].&lt;br /&gt;
&lt;br /&gt;
2. Download and install VPython from [http://sourceforge.net/projects/vpythonwx/files/6.11-release/VPython-Win-64-Py2.7-6.11.exe/download Sourceforge].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To troubleshoot any installation issues, look at the extensive [http://vpython.org/contents/download_windows.html VPython Windows installation guide].&lt;br /&gt;
&lt;br /&gt;
===OSX===&lt;br /&gt;
[[File:VPythonOSX.png|thumb|VPython running in OSX 10.10]]&lt;br /&gt;
&lt;br /&gt;
1. Install [https://www.python.org/ftp/python/2.7.9/python-2.7.9-macosx10.6.pkg Python-2.7].  This is required as the version of Python that Apple provides is not compatible.&lt;br /&gt;
&lt;br /&gt;
2. Download and install the VPython package from [http://sourceforge.net/projects/vpythonwx/files/6.11-release/VPython-Mac-Py2.7-6.11.dmg/download Sourceforge].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To troubleshoot installation issues, see the extensive [http://vpython.org/contents/download_mac.html VPython Mac installation guide].&lt;br /&gt;
&lt;br /&gt;
===GNU/Linux===&lt;br /&gt;
[[File:VPythonUbuntu.png|thumb|VPython running in Ubuntu 15.04+]]&lt;br /&gt;
&lt;br /&gt;
Some Linux distributions include VPython in their repositories.  For example, to install VPython in Ubuntu 15.04:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get install python-visual&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If your Linux distribution&#039;s repository does not have the latest version of VPython, you can run the Windows version using [https://www.winehq.org/ Wine].  The [http://vpython.org/contents/download_linux.html VPython Linux installation guide] contains detailed instructions.&lt;br /&gt;
&lt;br /&gt;
==Getting started with VPython==&lt;br /&gt;
The easiest way to use VPython is with VIDLE.  VIDLE is a development environment and is the most useful for editing and running code.  To start, open the VIDLE application (it may be called something like VIDLE-Py2.7).  A blank file should open.  Type the following two lines in:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;from __future__ import division&lt;br /&gt;
&lt;br /&gt;
from visual import *&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first line tells Python to not use integer division, which would result in &amp;lt;code&amp;gt;1/3&amp;lt;/code&amp;gt; returning the floor &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; instead of &amp;lt;code&amp;gt;0.3333333333333333&amp;lt;/code&amp;gt;.  The second line tells Python to import everything from the visual (VPython) library for you to use.&lt;br /&gt;
&lt;br /&gt;
After these two lines, you can create objects, assign variables, do calculations, and much more.  You can also run VPython from the command line, although it may require additional setup so Python can locate the &amp;lt;code&amp;gt;visual&amp;lt;/code&amp;gt; module.&lt;br /&gt;
&lt;br /&gt;
===Glowscript===&lt;br /&gt;
&lt;br /&gt;
Another useful method of using Vpython can be found at http://www.glowscript.org/. At this website, a user can make an account and have a script up and running within minutes on a web browser without having to deal with downloading any software or worrying about compatibility. Only downside is that it can be tricky to save the code for submitting to Webassign.&lt;br /&gt;
&lt;br /&gt;
==Creating VPython Objects==&lt;br /&gt;
When you create objects, it is often useful to assign them to variables so you can reference them later to either get or set values describing for example the position and size of the object.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sphere&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;particle = sphere(pos=(0,0,0), radius=4, color=color.blue)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This creates a blue sphere centered at the origin &amp;lt;0,0,0&amp;gt; with radius 4.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Arrow&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;arrowToOrigin = arrow(pos=(0,2,0), axis=(0,8,0), color=color.green)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This creates a green arrow pointing from &amp;lt;0,2,0&amp;gt; to &amp;lt;0,10,0&amp;gt;.  Note that &amp;lt;code&amp;gt;axis&amp;lt;/code&amp;gt; is always relative to the start of the arrow, not the origin &amp;lt;0,0,0&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cylinder&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;wire = cylinder(pos=(0,0,0), axis=(20,0,0), radius=1, color=color.yellow)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This creates a yellow cylinder starting at the origin &amp;lt;0,0,0&amp;gt; and extending to &amp;lt;20,0,0&amp;gt; with radius 1.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Helix&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;spring = helix(pos=(0,0,0), axis=(10,0,0), radius=0.75, color=color.cyan)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Creates a helix of color cyan at the origin and goes to &amp;lt;10,0,0&amp;gt; with a radius of 0.75.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pyramid&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;shape = pyramid(pos=(8,4,0), size=(20,4,10), color=color.red)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Creates a pyramid of size &amp;lt;20,4,10&amp;gt; starting at &amp;lt;8,4,0&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Object Positioning&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
It is very important to note that the position values for arrow, cylinder, helix, and pyramid corresponds to one end of the object, however for a box, sphere, or ring it corresponds to the center of the object.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example&#039;&#039;&#039;&lt;br /&gt;
[[File:VPythonObjects.png|thumb|Result of example code]]&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
from __future__ import division&lt;br /&gt;
from visual import *&lt;br /&gt;
&lt;br /&gt;
particle = sphere(pos=(0,0,0), radius=4, color=color.blue)&lt;br /&gt;
arrowToOrigin = arrow(pos=(0,2,0), axis=(0,8,0), color=color.green)&lt;br /&gt;
wire = cylinder(pos=(0,0,0), axis=(20,0,0), radius=1, color=color.yellow)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Updating objects&#039;&#039;&#039;&lt;br /&gt;
If you assign an object to a variable (such as &amp;lt;code&amp;gt;particle&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;arrowToOrigin&amp;lt;/code&amp;gt; above) you can adjust its parameters such as its location.  For the above sphere, you can change its location to &amp;lt;-5,-5,0&amp;gt; with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;particle.pos=(-5,-5,0)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To change the axis of the above arrow to point to &amp;lt;-10,5,0&amp;gt;, use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;arrowToOrigin.axis=(-10,5,0)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To change the radius of the above cylinder to 3, use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;wire.radius=3&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example&#039;&#039;&#039;&lt;br /&gt;
[[File:VPythonObjectsChanged.png|thumb|Result of example code]]&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
from __future__ import division&lt;br /&gt;
from visual import *&lt;br /&gt;
&lt;br /&gt;
particle = sphere(pos=(0,0,0), radius=4, color=color.blue)&lt;br /&gt;
arrowToOrigin = arrow(pos=(0,2,0), axis=(0,8,0), color=color.green)&lt;br /&gt;
wire = cylinder(pos=(0,0,0), axis=(20,0,0), radius=1, color=color.yellow)&lt;br /&gt;
&lt;br /&gt;
particle.pos=(-5,-5,0)&lt;br /&gt;
arrowToOrigin.axis=(-10,5,0)&lt;br /&gt;
wire.radius=3&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Useful built-in functions==&lt;br /&gt;
&lt;br /&gt;
VPython includes various functions that can make your calculations much easier.  The following functions simplify mathematical operations on vectors and will come in handy very often.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cross-multiply two vectors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cross(vectorA, vectorB)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Magnitude of a vector&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;mag(vector)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Square of the Magnitude of a vector&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;mag2(vector)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Unit vector of a vector&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;norm(vector)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Square Root&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sqrt(value)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Absolute Value&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;abs(value)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==VPython Operators==&lt;br /&gt;
&lt;br /&gt;
===Mathematical Operators===&lt;br /&gt;
1) #  comment out a line&lt;br /&gt;
&lt;br /&gt;
2) + - * /   addition, subtraction, multiplication, division&lt;br /&gt;
&lt;br /&gt;
3) ** exponential&lt;br /&gt;
&lt;br /&gt;
4) % modulus or remainder&lt;br /&gt;
&lt;br /&gt;
===Logical Operators===&lt;br /&gt;
1) ==  outputs true if the compared values are the same&lt;br /&gt;
&lt;br /&gt;
2) != outputs true if the compared values are not the same&lt;br /&gt;
&lt;br /&gt;
3) &amp;gt; or &amp;lt; outputs true if the compared values are greater or less than the other&lt;br /&gt;
&lt;br /&gt;
4) &amp;gt;= or &amp;lt;= Same as above but outputs true if greater or less than or equal to the compared value&lt;br /&gt;
&lt;br /&gt;
==Connectedness==&lt;br /&gt;
&lt;br /&gt;
I am very interested in programming.  I have used Python for years, so translating Physics problems into VPython code is a great way to cement the fundamental ideas in my mind.&lt;br /&gt;
&lt;br /&gt;
VPython is a great tool to bridge the worlds of Computer Science and Physics.  Many of the calculations required to model a physical object would be tedious if done by hand.  Yet with often a few lines of code, this work can be reduced to almost nothing.&lt;br /&gt;
&lt;br /&gt;
NASA has published [http://gcmd.gsfc.nasa.gov/KeywordSearch/Metadata.do?Portal=GCMD&amp;amp;MetadataType=1&amp;amp;MetadataView=Full&amp;amp;KeywordPath=&amp;amp;EntryId=3-D_ES-Models VPython models].  However, VPython is still primarily used in an educational context.&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
&lt;br /&gt;
VPython was originally released in 2000 by David Scherer after he took an introductory physics class at Carnegie Mellon University.  At the time, the school used the cT programming language for 2D modeling, and David saw the need for something better.  Working with several people including professors Ruth Chabay and Bruce Sherwood, he developed a Python module called Visual.  Visual Python or VPython featured 3D modeling, as well as an easier-to-understand object-oriented syntax.  Beginning in 2002, the National Science Foundation had awarded $292,286.00 as of December 2015 for the further development of this tool.  VPython is released under an Open Source license, and development continues today.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
If you have never used Python, the [[VPython_basics| VPython Basics]] wiki page has information for getting started with Python programming.&lt;br /&gt;
&lt;br /&gt;
===Further reading===&lt;br /&gt;
&lt;br /&gt;
Aiken, John M (2013). &#039;&#039;Transforming High School Physics With Modeling And Computation&#039;&#039;. Georgia State University.&lt;br /&gt;
&lt;br /&gt;
===External links===&lt;br /&gt;
&lt;br /&gt;
[http://www.wired.com/2015/08/coding-physics-course/ You Should Be Coding in Your Physics Course]&lt;br /&gt;
&lt;br /&gt;
[http://vpython.wikidot.com/ VPython Wiki Site]&lt;br /&gt;
&lt;br /&gt;
[https://groups.google.com/forum/#!forum/vpython-users VPython user group]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
This section contains the the references you used while writing this page&lt;br /&gt;
&lt;br /&gt;
[http://vpython.org/contents/cTsource/cToverview.html The cT Programming Language]&lt;br /&gt;
&lt;br /&gt;
[https://wiki.python.org/moin/VPython/ VPython - Python Wiki]&lt;br /&gt;
&lt;br /&gt;
[http://www.nsf.gov/awardsearch/showAward?AWD_ID=0237132 VPython NSF Award]&lt;br /&gt;
&lt;br /&gt;
[[Category:VPython]]&lt;/div&gt;</summary>
		<author><name>Scmcn22</name></author>
	</entry>
	<entry>
		<id>http://www.physicsbook.gatech.edu/index.php?title=VPython&amp;diff=28085</id>
		<title>VPython</title>
		<link rel="alternate" type="text/html" href="http://www.physicsbook.gatech.edu/index.php?title=VPython&amp;diff=28085"/>
		<updated>2017-04-09T19:21:52Z</updated>

		<summary type="html">&lt;p&gt;Scmcn22: /* Creating VPython Objects */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Claimed by Scott McNeill&lt;br /&gt;
&lt;br /&gt;
VPython is a Python graphics module used for modeling objects in 3-dimensional space.  In the field of physics, this is especially useful for calculating and modeling complex relationships between objects and their properties.&lt;br /&gt;
&lt;br /&gt;
[[File:VPythonMagneticForceAnimated.gif|thumb|VPython modeling the magnetic force on a moving particle]]&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
&lt;br /&gt;
VPython is compatible with Windows, OSX, and Linux.  While there is an older VPython version available that supports Python 3, the Georgia Tech physics courses use Python 2 syntax so it is recommended to install the latest version of VPython as outlined below.&lt;br /&gt;
&lt;br /&gt;
===Windows===&lt;br /&gt;
[[File:VPythonWindows.png|thumb|VPython running in Windows 7]]&lt;br /&gt;
&lt;br /&gt;
1. Install [http://python.org/ftp/python/2.7.9/python-2.7.9.amd64.msi Python-2.7].&lt;br /&gt;
&lt;br /&gt;
2. Download and install VPython from [http://sourceforge.net/projects/vpythonwx/files/6.11-release/VPython-Win-64-Py2.7-6.11.exe/download Sourceforge].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To troubleshoot any installation issues, look at the extensive [http://vpython.org/contents/download_windows.html VPython Windows installation guide].&lt;br /&gt;
&lt;br /&gt;
===OSX===&lt;br /&gt;
[[File:VPythonOSX.png|thumb|VPython running in OSX 10.10]]&lt;br /&gt;
&lt;br /&gt;
1. Install [https://www.python.org/ftp/python/2.7.9/python-2.7.9-macosx10.6.pkg Python-2.7].  This is required as the version of Python that Apple provides is not compatible.&lt;br /&gt;
&lt;br /&gt;
2. Download and install the VPython package from [http://sourceforge.net/projects/vpythonwx/files/6.11-release/VPython-Mac-Py2.7-6.11.dmg/download Sourceforge].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To troubleshoot installation issues, see the extensive [http://vpython.org/contents/download_mac.html VPython Mac installation guide].&lt;br /&gt;
&lt;br /&gt;
===GNU/Linux===&lt;br /&gt;
[[File:VPythonUbuntu.png|thumb|VPython running in Ubuntu 15.04+]]&lt;br /&gt;
&lt;br /&gt;
Some Linux distributions include VPython in their repositories.  For example, to install VPython in Ubuntu 15.04:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get install python-visual&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If your Linux distribution&#039;s repository does not have the latest version of VPython, you can run the Windows version using [https://www.winehq.org/ Wine].  The [http://vpython.org/contents/download_linux.html VPython Linux installation guide] contains detailed instructions.&lt;br /&gt;
&lt;br /&gt;
==Getting started with VPython==&lt;br /&gt;
The easiest way to use VPython is with VIDLE.  VIDLE is a development environment and is the most useful for editing and running code.  To start, open the VIDLE application (it may be called something like VIDLE-Py2.7).  A blank file should open.  Type the following two lines in:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;from __future__ import division&lt;br /&gt;
&lt;br /&gt;
from visual import *&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first line tells Python to not use integer division, which would result in &amp;lt;code&amp;gt;1/3&amp;lt;/code&amp;gt; returning the floor &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; instead of &amp;lt;code&amp;gt;0.3333333333333333&amp;lt;/code&amp;gt;.  The second line tells Python to import everything from the visual (VPython) library for you to use.&lt;br /&gt;
&lt;br /&gt;
After these two lines, you can create objects, assign variables, do calculations, and much more.  You can also run VPython from the command line, although it may require additional setup so Python can locate the &amp;lt;code&amp;gt;visual&amp;lt;/code&amp;gt; module.&lt;br /&gt;
&lt;br /&gt;
===Glowscript===&lt;br /&gt;
&lt;br /&gt;
Another useful method of using Vpython can be found at http://www.glowscript.org/. At this website, a user can make an account and have a script up and running within minutes on a web browser without having to deal with downloading any software or worrying about compatibility. Only downside is that it can be tricky to save the code for submitting to Webassign.&lt;br /&gt;
&lt;br /&gt;
==Creating VPython Objects==&lt;br /&gt;
When you create objects, it is often useful to assign them to variables so you can reference them later to either get or set values describing for example the position and size of the object.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sphere&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;particle = sphere(pos=(0,0,0), radius=4, color=color.blue)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This creates a blue sphere centered at the origin &amp;lt;0,0,0&amp;gt; with radius 4.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Arrow&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;arrowToOrigin = arrow(pos=(0,2,0), axis=(0,8,0), color=color.green)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This creates a green arrow pointing from &amp;lt;0,2,0&amp;gt; to &amp;lt;0,10,0&amp;gt;.  Note that &amp;lt;code&amp;gt;axis&amp;lt;/code&amp;gt; is always relative to the start of the arrow, not the origin &amp;lt;0,0,0&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cylinder&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;wire = cylinder(pos=(0,0,0), axis=(20,0,0), radius=1, color=color.yellow)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This creates a yellow cylinder starting at the origin &amp;lt;0,0,0&amp;gt; and extending to &amp;lt;20,0,0&amp;gt; with radius 1.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Helix&#039;&#039;&#039;&lt;br /&gt;
[[File:VPythonBlueSphere.png|thumb|right|Pyramid]] &lt;br /&gt;
&amp;lt;code&amp;gt;spring = helix(pos=(0,0,0), axis=(10,0,0), radius=0.75, color=color.cyan)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Creates a helix of color cyan at the origin and goes to &amp;lt;10,0,0&amp;gt; with a radius of 0.75.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pyramid&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;shape = pyramid(pos=(8,4,0), size=(20,4,10), color=color.red)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Creates a pyramid of size &amp;lt;20,4,10&amp;gt; starting at &amp;lt;8,4,0&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Object Positioning&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
It is very important to note that the position values for arrow, cylinder, helix, and pyramid corresponds to one end of the object, however for a box, sphere, or ring it corresponds to the center of the object.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example&#039;&#039;&#039;&lt;br /&gt;
[[File:VPythonObjects.png|thumb|Result of example code]]&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
from __future__ import division&lt;br /&gt;
from visual import *&lt;br /&gt;
&lt;br /&gt;
particle = sphere(pos=(0,0,0), radius=4, color=color.blue)&lt;br /&gt;
arrowToOrigin = arrow(pos=(0,2,0), axis=(0,8,0), color=color.green)&lt;br /&gt;
wire = cylinder(pos=(0,0,0), axis=(20,0,0), radius=1, color=color.yellow)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Updating objects&#039;&#039;&#039;&lt;br /&gt;
If you assign an object to a variable (such as &amp;lt;code&amp;gt;particle&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;arrowToOrigin&amp;lt;/code&amp;gt; above) you can adjust its parameters such as its location.  For the above sphere, you can change its location to &amp;lt;-5,-5,0&amp;gt; with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;particle.pos=(-5,-5,0)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To change the axis of the above arrow to point to &amp;lt;-10,5,0&amp;gt;, use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;arrowToOrigin.axis=(-10,5,0)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To change the radius of the above cylinder to 3, use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;wire.radius=3&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example&#039;&#039;&#039;&lt;br /&gt;
[[File:VPythonObjectsChanged.png|thumb|Result of example code]]&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
from __future__ import division&lt;br /&gt;
from visual import *&lt;br /&gt;
&lt;br /&gt;
particle = sphere(pos=(0,0,0), radius=4, color=color.blue)&lt;br /&gt;
arrowToOrigin = arrow(pos=(0,2,0), axis=(0,8,0), color=color.green)&lt;br /&gt;
wire = cylinder(pos=(0,0,0), axis=(20,0,0), radius=1, color=color.yellow)&lt;br /&gt;
&lt;br /&gt;
particle.pos=(-5,-5,0)&lt;br /&gt;
arrowToOrigin.axis=(-10,5,0)&lt;br /&gt;
wire.radius=3&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Useful built-in functions==&lt;br /&gt;
&lt;br /&gt;
VPython includes various functions that can make your calculations much easier.  The following functions simplify mathematical operations on vectors and will come in handy very often.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cross-multiply two vectors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cross(vectorA, vectorB)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Magnitude of a vector&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;mag(vector)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Square of the Magnitude of a vector&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;mag2(vector)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Unit vector of a vector&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;norm(vector)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Square Root&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sqrt(value)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Absolute Value&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;abs(value)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==VPython Operators==&lt;br /&gt;
&lt;br /&gt;
===Mathematical Operators===&lt;br /&gt;
1) #  comment out a line&lt;br /&gt;
&lt;br /&gt;
2) + - * /   addition, subtraction, multiplication, division&lt;br /&gt;
&lt;br /&gt;
3) ** exponential&lt;br /&gt;
&lt;br /&gt;
4) % modulus or remainder&lt;br /&gt;
&lt;br /&gt;
===Logical Operators===&lt;br /&gt;
1) ==  outputs true if the compared values are the same&lt;br /&gt;
&lt;br /&gt;
2) != outputs true if the compared values are not the same&lt;br /&gt;
&lt;br /&gt;
3) &amp;gt; or &amp;lt; outputs true if the compared values are greater or less than the other&lt;br /&gt;
&lt;br /&gt;
4) &amp;gt;= or &amp;lt;= Same as above but outputs true if greater or less than or equal to the compared value&lt;br /&gt;
&lt;br /&gt;
==Connectedness==&lt;br /&gt;
&lt;br /&gt;
I am very interested in programming.  I have used Python for years, so translating Physics problems into VPython code is a great way to cement the fundamental ideas in my mind.&lt;br /&gt;
&lt;br /&gt;
VPython is a great tool to bridge the worlds of Computer Science and Physics.  Many of the calculations required to model a physical object would be tedious if done by hand.  Yet with often a few lines of code, this work can be reduced to almost nothing.&lt;br /&gt;
&lt;br /&gt;
NASA has published [http://gcmd.gsfc.nasa.gov/KeywordSearch/Metadata.do?Portal=GCMD&amp;amp;MetadataType=1&amp;amp;MetadataView=Full&amp;amp;KeywordPath=&amp;amp;EntryId=3-D_ES-Models VPython models].  However, VPython is still primarily used in an educational context.&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
&lt;br /&gt;
VPython was originally released in 2000 by David Scherer after he took an introductory physics class at Carnegie Mellon University.  At the time, the school used the cT programming language for 2D modeling, and David saw the need for something better.  Working with several people including professors Ruth Chabay and Bruce Sherwood, he developed a Python module called Visual.  Visual Python or VPython featured 3D modeling, as well as an easier-to-understand object-oriented syntax.  Beginning in 2002, the National Science Foundation had awarded $292,286.00 as of December 2015 for the further development of this tool.  VPython is released under an Open Source license, and development continues today.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
If you have never used Python, the [[VPython_basics| VPython Basics]] wiki page has information for getting started with Python programming.&lt;br /&gt;
&lt;br /&gt;
===Further reading===&lt;br /&gt;
&lt;br /&gt;
Aiken, John M (2013). &#039;&#039;Transforming High School Physics With Modeling And Computation&#039;&#039;. Georgia State University.&lt;br /&gt;
&lt;br /&gt;
===External links===&lt;br /&gt;
&lt;br /&gt;
[http://www.wired.com/2015/08/coding-physics-course/ You Should Be Coding in Your Physics Course]&lt;br /&gt;
&lt;br /&gt;
[http://vpython.wikidot.com/ VPython Wiki Site]&lt;br /&gt;
&lt;br /&gt;
[https://groups.google.com/forum/#!forum/vpython-users VPython user group]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
This section contains the the references you used while writing this page&lt;br /&gt;
&lt;br /&gt;
[http://vpython.org/contents/cTsource/cToverview.html The cT Programming Language]&lt;br /&gt;
&lt;br /&gt;
[https://wiki.python.org/moin/VPython/ VPython - Python Wiki]&lt;br /&gt;
&lt;br /&gt;
[http://www.nsf.gov/awardsearch/showAward?AWD_ID=0237132 VPython NSF Award]&lt;br /&gt;
&lt;br /&gt;
[[Category:VPython]]&lt;/div&gt;</summary>
		<author><name>Scmcn22</name></author>
	</entry>
	<entry>
		<id>http://www.physicsbook.gatech.edu/index.php?title=VPython&amp;diff=28084</id>
		<title>VPython</title>
		<link rel="alternate" type="text/html" href="http://www.physicsbook.gatech.edu/index.php?title=VPython&amp;diff=28084"/>
		<updated>2017-04-09T19:20:15Z</updated>

		<summary type="html">&lt;p&gt;Scmcn22: /* Creating VPython Objects */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Claimed by Scott McNeill&lt;br /&gt;
&lt;br /&gt;
VPython is a Python graphics module used for modeling objects in 3-dimensional space.  In the field of physics, this is especially useful for calculating and modeling complex relationships between objects and their properties.&lt;br /&gt;
&lt;br /&gt;
[[File:VPythonMagneticForceAnimated.gif|thumb|VPython modeling the magnetic force on a moving particle]]&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
&lt;br /&gt;
VPython is compatible with Windows, OSX, and Linux.  While there is an older VPython version available that supports Python 3, the Georgia Tech physics courses use Python 2 syntax so it is recommended to install the latest version of VPython as outlined below.&lt;br /&gt;
&lt;br /&gt;
===Windows===&lt;br /&gt;
[[File:VPythonWindows.png|thumb|VPython running in Windows 7]]&lt;br /&gt;
&lt;br /&gt;
1. Install [http://python.org/ftp/python/2.7.9/python-2.7.9.amd64.msi Python-2.7].&lt;br /&gt;
&lt;br /&gt;
2. Download and install VPython from [http://sourceforge.net/projects/vpythonwx/files/6.11-release/VPython-Win-64-Py2.7-6.11.exe/download Sourceforge].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To troubleshoot any installation issues, look at the extensive [http://vpython.org/contents/download_windows.html VPython Windows installation guide].&lt;br /&gt;
&lt;br /&gt;
===OSX===&lt;br /&gt;
[[File:VPythonOSX.png|thumb|VPython running in OSX 10.10]]&lt;br /&gt;
&lt;br /&gt;
1. Install [https://www.python.org/ftp/python/2.7.9/python-2.7.9-macosx10.6.pkg Python-2.7].  This is required as the version of Python that Apple provides is not compatible.&lt;br /&gt;
&lt;br /&gt;
2. Download and install the VPython package from [http://sourceforge.net/projects/vpythonwx/files/6.11-release/VPython-Mac-Py2.7-6.11.dmg/download Sourceforge].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To troubleshoot installation issues, see the extensive [http://vpython.org/contents/download_mac.html VPython Mac installation guide].&lt;br /&gt;
&lt;br /&gt;
===GNU/Linux===&lt;br /&gt;
[[File:VPythonUbuntu.png|thumb|VPython running in Ubuntu 15.04+]]&lt;br /&gt;
&lt;br /&gt;
Some Linux distributions include VPython in their repositories.  For example, to install VPython in Ubuntu 15.04:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get install python-visual&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If your Linux distribution&#039;s repository does not have the latest version of VPython, you can run the Windows version using [https://www.winehq.org/ Wine].  The [http://vpython.org/contents/download_linux.html VPython Linux installation guide] contains detailed instructions.&lt;br /&gt;
&lt;br /&gt;
==Getting started with VPython==&lt;br /&gt;
The easiest way to use VPython is with VIDLE.  VIDLE is a development environment and is the most useful for editing and running code.  To start, open the VIDLE application (it may be called something like VIDLE-Py2.7).  A blank file should open.  Type the following two lines in:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;from __future__ import division&lt;br /&gt;
&lt;br /&gt;
from visual import *&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first line tells Python to not use integer division, which would result in &amp;lt;code&amp;gt;1/3&amp;lt;/code&amp;gt; returning the floor &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; instead of &amp;lt;code&amp;gt;0.3333333333333333&amp;lt;/code&amp;gt;.  The second line tells Python to import everything from the visual (VPython) library for you to use.&lt;br /&gt;
&lt;br /&gt;
After these two lines, you can create objects, assign variables, do calculations, and much more.  You can also run VPython from the command line, although it may require additional setup so Python can locate the &amp;lt;code&amp;gt;visual&amp;lt;/code&amp;gt; module.&lt;br /&gt;
&lt;br /&gt;
===Glowscript===&lt;br /&gt;
&lt;br /&gt;
Another useful method of using Vpython can be found at http://www.glowscript.org/. At this website, a user can make an account and have a script up and running within minutes on a web browser without having to deal with downloading any software or worrying about compatibility. Only downside is that it can be tricky to save the code for submitting to Webassign.&lt;br /&gt;
&lt;br /&gt;
==Creating VPython Objects==&lt;br /&gt;
When you create objects, it is often useful to assign them to variables so you can reference them later to either get or set values describing for example the position and size of the object.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sphere&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;particle = sphere(pos=(0,0,0), radius=4, color=color.blue)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This creates a blue sphere centered at the origin &amp;lt;0,0,0&amp;gt; with radius 4.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Arrow&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;arrowToOrigin = arrow(pos=(0,2,0), axis=(0,8,0), color=color.green)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This creates a green arrow pointing from &amp;lt;0,2,0&amp;gt; to &amp;lt;0,10,0&amp;gt;.  Note that &amp;lt;code&amp;gt;axis&amp;lt;/code&amp;gt; is always relative to the start of the arrow, not the origin &amp;lt;0,0,0&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cylinder&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;wire = cylinder(pos=(0,0,0), axis=(20,0,0), radius=1, color=color.yellow)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This creates a yellow cylinder starting at the origin &amp;lt;0,0,0&amp;gt; and extending to &amp;lt;20,0,0&amp;gt; with radius 1.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Helix&#039;&#039;&#039;&lt;br /&gt;
[[File:Pyramid.png|thumb|right|Pyramid]] &lt;br /&gt;
&amp;lt;code&amp;gt;spring = helix(pos=(0,0,0), axis=(10,0,0), radius=0.75, color=color.cyan)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Creates a helix of color cyan at the origin and goes to &amp;lt;10,0,0&amp;gt; with a radius of 0.75.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pyramid&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;shape = pyramid(pos=(8,4,0), size=(20,4,10), color=color.red)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Creates a pyramid of size &amp;lt;20,4,10&amp;gt; starting at &amp;lt;8,4,0&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Object Positioning&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
It is very important to note that the position values for arrow, cylinder, helix, and pyramid corresponds to one end of the object, however for a box, sphere, or ring it corresponds to the center of the object.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example&#039;&#039;&#039;&lt;br /&gt;
[[File:VPythonObjects.png|thumb|Result of example code]]&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
from __future__ import division&lt;br /&gt;
from visual import *&lt;br /&gt;
&lt;br /&gt;
particle = sphere(pos=(0,0,0), radius=4, color=color.blue)&lt;br /&gt;
arrowToOrigin = arrow(pos=(0,2,0), axis=(0,8,0), color=color.green)&lt;br /&gt;
wire = cylinder(pos=(0,0,0), axis=(20,0,0), radius=1, color=color.yellow)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Updating objects&#039;&#039;&#039;&lt;br /&gt;
If you assign an object to a variable (such as &amp;lt;code&amp;gt;particle&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;arrowToOrigin&amp;lt;/code&amp;gt; above) you can adjust its parameters such as its location.  For the above sphere, you can change its location to &amp;lt;-5,-5,0&amp;gt; with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;particle.pos=(-5,-5,0)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To change the axis of the above arrow to point to &amp;lt;-10,5,0&amp;gt;, use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;arrowToOrigin.axis=(-10,5,0)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To change the radius of the above cylinder to 3, use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;wire.radius=3&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example&#039;&#039;&#039;&lt;br /&gt;
[[File:VPythonObjectsChanged.png|thumb|Result of example code]]&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
from __future__ import division&lt;br /&gt;
from visual import *&lt;br /&gt;
&lt;br /&gt;
particle = sphere(pos=(0,0,0), radius=4, color=color.blue)&lt;br /&gt;
arrowToOrigin = arrow(pos=(0,2,0), axis=(0,8,0), color=color.green)&lt;br /&gt;
wire = cylinder(pos=(0,0,0), axis=(20,0,0), radius=1, color=color.yellow)&lt;br /&gt;
&lt;br /&gt;
particle.pos=(-5,-5,0)&lt;br /&gt;
arrowToOrigin.axis=(-10,5,0)&lt;br /&gt;
wire.radius=3&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Useful built-in functions==&lt;br /&gt;
&lt;br /&gt;
VPython includes various functions that can make your calculations much easier.  The following functions simplify mathematical operations on vectors and will come in handy very often.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cross-multiply two vectors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cross(vectorA, vectorB)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Magnitude of a vector&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;mag(vector)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Square of the Magnitude of a vector&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;mag2(vector)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Unit vector of a vector&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;norm(vector)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Square Root&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sqrt(value)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Absolute Value&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;abs(value)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==VPython Operators==&lt;br /&gt;
&lt;br /&gt;
===Mathematical Operators===&lt;br /&gt;
1) #  comment out a line&lt;br /&gt;
&lt;br /&gt;
2) + - * /   addition, subtraction, multiplication, division&lt;br /&gt;
&lt;br /&gt;
3) ** exponential&lt;br /&gt;
&lt;br /&gt;
4) % modulus or remainder&lt;br /&gt;
&lt;br /&gt;
===Logical Operators===&lt;br /&gt;
1) ==  outputs true if the compared values are the same&lt;br /&gt;
&lt;br /&gt;
2) != outputs true if the compared values are not the same&lt;br /&gt;
&lt;br /&gt;
3) &amp;gt; or &amp;lt; outputs true if the compared values are greater or less than the other&lt;br /&gt;
&lt;br /&gt;
4) &amp;gt;= or &amp;lt;= Same as above but outputs true if greater or less than or equal to the compared value&lt;br /&gt;
&lt;br /&gt;
==Connectedness==&lt;br /&gt;
&lt;br /&gt;
I am very interested in programming.  I have used Python for years, so translating Physics problems into VPython code is a great way to cement the fundamental ideas in my mind.&lt;br /&gt;
&lt;br /&gt;
VPython is a great tool to bridge the worlds of Computer Science and Physics.  Many of the calculations required to model a physical object would be tedious if done by hand.  Yet with often a few lines of code, this work can be reduced to almost nothing.&lt;br /&gt;
&lt;br /&gt;
NASA has published [http://gcmd.gsfc.nasa.gov/KeywordSearch/Metadata.do?Portal=GCMD&amp;amp;MetadataType=1&amp;amp;MetadataView=Full&amp;amp;KeywordPath=&amp;amp;EntryId=3-D_ES-Models VPython models].  However, VPython is still primarily used in an educational context.&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
&lt;br /&gt;
VPython was originally released in 2000 by David Scherer after he took an introductory physics class at Carnegie Mellon University.  At the time, the school used the cT programming language for 2D modeling, and David saw the need for something better.  Working with several people including professors Ruth Chabay and Bruce Sherwood, he developed a Python module called Visual.  Visual Python or VPython featured 3D modeling, as well as an easier-to-understand object-oriented syntax.  Beginning in 2002, the National Science Foundation had awarded $292,286.00 as of December 2015 for the further development of this tool.  VPython is released under an Open Source license, and development continues today.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
If you have never used Python, the [[VPython_basics| VPython Basics]] wiki page has information for getting started with Python programming.&lt;br /&gt;
&lt;br /&gt;
===Further reading===&lt;br /&gt;
&lt;br /&gt;
Aiken, John M (2013). &#039;&#039;Transforming High School Physics With Modeling And Computation&#039;&#039;. Georgia State University.&lt;br /&gt;
&lt;br /&gt;
===External links===&lt;br /&gt;
&lt;br /&gt;
[http://www.wired.com/2015/08/coding-physics-course/ You Should Be Coding in Your Physics Course]&lt;br /&gt;
&lt;br /&gt;
[http://vpython.wikidot.com/ VPython Wiki Site]&lt;br /&gt;
&lt;br /&gt;
[https://groups.google.com/forum/#!forum/vpython-users VPython user group]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
This section contains the the references you used while writing this page&lt;br /&gt;
&lt;br /&gt;
[http://vpython.org/contents/cTsource/cToverview.html The cT Programming Language]&lt;br /&gt;
&lt;br /&gt;
[https://wiki.python.org/moin/VPython/ VPython - Python Wiki]&lt;br /&gt;
&lt;br /&gt;
[http://www.nsf.gov/awardsearch/showAward?AWD_ID=0237132 VPython NSF Award]&lt;br /&gt;
&lt;br /&gt;
[[Category:VPython]]&lt;/div&gt;</summary>
		<author><name>Scmcn22</name></author>
	</entry>
	<entry>
		<id>http://www.physicsbook.gatech.edu/index.php?title=VPython&amp;diff=28083</id>
		<title>VPython</title>
		<link rel="alternate" type="text/html" href="http://www.physicsbook.gatech.edu/index.php?title=VPython&amp;diff=28083"/>
		<updated>2017-04-09T19:19:47Z</updated>

		<summary type="html">&lt;p&gt;Scmcn22: /* Creating VPython Objects */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Claimed by Scott McNeill&lt;br /&gt;
&lt;br /&gt;
VPython is a Python graphics module used for modeling objects in 3-dimensional space.  In the field of physics, this is especially useful for calculating and modeling complex relationships between objects and their properties.&lt;br /&gt;
&lt;br /&gt;
[[File:VPythonMagneticForceAnimated.gif|thumb|VPython modeling the magnetic force on a moving particle]]&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
&lt;br /&gt;
VPython is compatible with Windows, OSX, and Linux.  While there is an older VPython version available that supports Python 3, the Georgia Tech physics courses use Python 2 syntax so it is recommended to install the latest version of VPython as outlined below.&lt;br /&gt;
&lt;br /&gt;
===Windows===&lt;br /&gt;
[[File:VPythonWindows.png|thumb|VPython running in Windows 7]]&lt;br /&gt;
&lt;br /&gt;
1. Install [http://python.org/ftp/python/2.7.9/python-2.7.9.amd64.msi Python-2.7].&lt;br /&gt;
&lt;br /&gt;
2. Download and install VPython from [http://sourceforge.net/projects/vpythonwx/files/6.11-release/VPython-Win-64-Py2.7-6.11.exe/download Sourceforge].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To troubleshoot any installation issues, look at the extensive [http://vpython.org/contents/download_windows.html VPython Windows installation guide].&lt;br /&gt;
&lt;br /&gt;
===OSX===&lt;br /&gt;
[[File:VPythonOSX.png|thumb|VPython running in OSX 10.10]]&lt;br /&gt;
&lt;br /&gt;
1. Install [https://www.python.org/ftp/python/2.7.9/python-2.7.9-macosx10.6.pkg Python-2.7].  This is required as the version of Python that Apple provides is not compatible.&lt;br /&gt;
&lt;br /&gt;
2. Download and install the VPython package from [http://sourceforge.net/projects/vpythonwx/files/6.11-release/VPython-Mac-Py2.7-6.11.dmg/download Sourceforge].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To troubleshoot installation issues, see the extensive [http://vpython.org/contents/download_mac.html VPython Mac installation guide].&lt;br /&gt;
&lt;br /&gt;
===GNU/Linux===&lt;br /&gt;
[[File:VPythonUbuntu.png|thumb|VPython running in Ubuntu 15.04+]]&lt;br /&gt;
&lt;br /&gt;
Some Linux distributions include VPython in their repositories.  For example, to install VPython in Ubuntu 15.04:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get install python-visual&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If your Linux distribution&#039;s repository does not have the latest version of VPython, you can run the Windows version using [https://www.winehq.org/ Wine].  The [http://vpython.org/contents/download_linux.html VPython Linux installation guide] contains detailed instructions.&lt;br /&gt;
&lt;br /&gt;
==Getting started with VPython==&lt;br /&gt;
The easiest way to use VPython is with VIDLE.  VIDLE is a development environment and is the most useful for editing and running code.  To start, open the VIDLE application (it may be called something like VIDLE-Py2.7).  A blank file should open.  Type the following two lines in:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;from __future__ import division&lt;br /&gt;
&lt;br /&gt;
from visual import *&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first line tells Python to not use integer division, which would result in &amp;lt;code&amp;gt;1/3&amp;lt;/code&amp;gt; returning the floor &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; instead of &amp;lt;code&amp;gt;0.3333333333333333&amp;lt;/code&amp;gt;.  The second line tells Python to import everything from the visual (VPython) library for you to use.&lt;br /&gt;
&lt;br /&gt;
After these two lines, you can create objects, assign variables, do calculations, and much more.  You can also run VPython from the command line, although it may require additional setup so Python can locate the &amp;lt;code&amp;gt;visual&amp;lt;/code&amp;gt; module.&lt;br /&gt;
&lt;br /&gt;
===Glowscript===&lt;br /&gt;
&lt;br /&gt;
Another useful method of using Vpython can be found at http://www.glowscript.org/. At this website, a user can make an account and have a script up and running within minutes on a web browser without having to deal with downloading any software or worrying about compatibility. Only downside is that it can be tricky to save the code for submitting to Webassign.&lt;br /&gt;
&lt;br /&gt;
==Creating VPython Objects==&lt;br /&gt;
When you create objects, it is often useful to assign them to variables so you can reference them later to either get or set values describing for example the position and size of the object.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sphere&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;particle = sphere(pos=(0,0,0), radius=4, color=color.blue)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This creates a blue sphere centered at the origin &amp;lt;0,0,0&amp;gt; with radius 4.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Arrow&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;arrowToOrigin = arrow(pos=(0,2,0), axis=(0,8,0), color=color.green)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This creates a green arrow pointing from &amp;lt;0,2,0&amp;gt; to &amp;lt;0,10,0&amp;gt;.  Note that &amp;lt;code&amp;gt;axis&amp;lt;/code&amp;gt; is always relative to the start of the arrow, not the origin &amp;lt;0,0,0&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cylinder&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;wire = cylinder(pos=(0,0,0), axis=(20,0,0), radius=1, color=color.yellow)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This creates a yellow cylinder starting at the origin &amp;lt;0,0,0&amp;gt; and extending to &amp;lt;20,0,0&amp;gt; with radius 1.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Helix&#039;&#039;&#039;&lt;br /&gt;
[[File:Pyramid.png|200px|thumb|right|Pyramid]] &lt;br /&gt;
&amp;lt;code&amp;gt;spring = helix(pos=(0,0,0), axis=(10,0,0), radius=0.75, color=color.cyan)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Creates a helix of color cyan at the origin and goes to &amp;lt;10,0,0&amp;gt; with a radius of 0.75.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pyramid&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;shape = pyramid(pos=(8,4,0), size=(20,4,10), color=color.red)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Creates a pyramid of size &amp;lt;20,4,10&amp;gt; starting at &amp;lt;8,4,0&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Object Positioning&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
It is very important to note that the position values for arrow, cylinder, helix, and pyramid corresponds to one end of the object, however for a box, sphere, or ring it corresponds to the center of the object.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example&#039;&#039;&#039;&lt;br /&gt;
[[File:VPythonObjects.png|thumb|Result of example code]]&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
from __future__ import division&lt;br /&gt;
from visual import *&lt;br /&gt;
&lt;br /&gt;
particle = sphere(pos=(0,0,0), radius=4, color=color.blue)&lt;br /&gt;
arrowToOrigin = arrow(pos=(0,2,0), axis=(0,8,0), color=color.green)&lt;br /&gt;
wire = cylinder(pos=(0,0,0), axis=(20,0,0), radius=1, color=color.yellow)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Updating objects&#039;&#039;&#039;&lt;br /&gt;
If you assign an object to a variable (such as &amp;lt;code&amp;gt;particle&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;arrowToOrigin&amp;lt;/code&amp;gt; above) you can adjust its parameters such as its location.  For the above sphere, you can change its location to &amp;lt;-5,-5,0&amp;gt; with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;particle.pos=(-5,-5,0)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To change the axis of the above arrow to point to &amp;lt;-10,5,0&amp;gt;, use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;arrowToOrigin.axis=(-10,5,0)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To change the radius of the above cylinder to 3, use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;wire.radius=3&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example&#039;&#039;&#039;&lt;br /&gt;
[[File:VPythonObjectsChanged.png|thumb|Result of example code]]&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
from __future__ import division&lt;br /&gt;
from visual import *&lt;br /&gt;
&lt;br /&gt;
particle = sphere(pos=(0,0,0), radius=4, color=color.blue)&lt;br /&gt;
arrowToOrigin = arrow(pos=(0,2,0), axis=(0,8,0), color=color.green)&lt;br /&gt;
wire = cylinder(pos=(0,0,0), axis=(20,0,0), radius=1, color=color.yellow)&lt;br /&gt;
&lt;br /&gt;
particle.pos=(-5,-5,0)&lt;br /&gt;
arrowToOrigin.axis=(-10,5,0)&lt;br /&gt;
wire.radius=3&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Useful built-in functions==&lt;br /&gt;
&lt;br /&gt;
VPython includes various functions that can make your calculations much easier.  The following functions simplify mathematical operations on vectors and will come in handy very often.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cross-multiply two vectors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cross(vectorA, vectorB)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Magnitude of a vector&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;mag(vector)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Square of the Magnitude of a vector&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;mag2(vector)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Unit vector of a vector&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;norm(vector)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Square Root&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sqrt(value)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Absolute Value&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;abs(value)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==VPython Operators==&lt;br /&gt;
&lt;br /&gt;
===Mathematical Operators===&lt;br /&gt;
1) #  comment out a line&lt;br /&gt;
&lt;br /&gt;
2) + - * /   addition, subtraction, multiplication, division&lt;br /&gt;
&lt;br /&gt;
3) ** exponential&lt;br /&gt;
&lt;br /&gt;
4) % modulus or remainder&lt;br /&gt;
&lt;br /&gt;
===Logical Operators===&lt;br /&gt;
1) ==  outputs true if the compared values are the same&lt;br /&gt;
&lt;br /&gt;
2) != outputs true if the compared values are not the same&lt;br /&gt;
&lt;br /&gt;
3) &amp;gt; or &amp;lt; outputs true if the compared values are greater or less than the other&lt;br /&gt;
&lt;br /&gt;
4) &amp;gt;= or &amp;lt;= Same as above but outputs true if greater or less than or equal to the compared value&lt;br /&gt;
&lt;br /&gt;
==Connectedness==&lt;br /&gt;
&lt;br /&gt;
I am very interested in programming.  I have used Python for years, so translating Physics problems into VPython code is a great way to cement the fundamental ideas in my mind.&lt;br /&gt;
&lt;br /&gt;
VPython is a great tool to bridge the worlds of Computer Science and Physics.  Many of the calculations required to model a physical object would be tedious if done by hand.  Yet with often a few lines of code, this work can be reduced to almost nothing.&lt;br /&gt;
&lt;br /&gt;
NASA has published [http://gcmd.gsfc.nasa.gov/KeywordSearch/Metadata.do?Portal=GCMD&amp;amp;MetadataType=1&amp;amp;MetadataView=Full&amp;amp;KeywordPath=&amp;amp;EntryId=3-D_ES-Models VPython models].  However, VPython is still primarily used in an educational context.&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
&lt;br /&gt;
VPython was originally released in 2000 by David Scherer after he took an introductory physics class at Carnegie Mellon University.  At the time, the school used the cT programming language for 2D modeling, and David saw the need for something better.  Working with several people including professors Ruth Chabay and Bruce Sherwood, he developed a Python module called Visual.  Visual Python or VPython featured 3D modeling, as well as an easier-to-understand object-oriented syntax.  Beginning in 2002, the National Science Foundation had awarded $292,286.00 as of December 2015 for the further development of this tool.  VPython is released under an Open Source license, and development continues today.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
If you have never used Python, the [[VPython_basics| VPython Basics]] wiki page has information for getting started with Python programming.&lt;br /&gt;
&lt;br /&gt;
===Further reading===&lt;br /&gt;
&lt;br /&gt;
Aiken, John M (2013). &#039;&#039;Transforming High School Physics With Modeling And Computation&#039;&#039;. Georgia State University.&lt;br /&gt;
&lt;br /&gt;
===External links===&lt;br /&gt;
&lt;br /&gt;
[http://www.wired.com/2015/08/coding-physics-course/ You Should Be Coding in Your Physics Course]&lt;br /&gt;
&lt;br /&gt;
[http://vpython.wikidot.com/ VPython Wiki Site]&lt;br /&gt;
&lt;br /&gt;
[https://groups.google.com/forum/#!forum/vpython-users VPython user group]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
This section contains the the references you used while writing this page&lt;br /&gt;
&lt;br /&gt;
[http://vpython.org/contents/cTsource/cToverview.html The cT Programming Language]&lt;br /&gt;
&lt;br /&gt;
[https://wiki.python.org/moin/VPython/ VPython - Python Wiki]&lt;br /&gt;
&lt;br /&gt;
[http://www.nsf.gov/awardsearch/showAward?AWD_ID=0237132 VPython NSF Award]&lt;br /&gt;
&lt;br /&gt;
[[Category:VPython]]&lt;/div&gt;</summary>
		<author><name>Scmcn22</name></author>
	</entry>
	<entry>
		<id>http://www.physicsbook.gatech.edu/index.php?title=VPython&amp;diff=28082</id>
		<title>VPython</title>
		<link rel="alternate" type="text/html" href="http://www.physicsbook.gatech.edu/index.php?title=VPython&amp;diff=28082"/>
		<updated>2017-04-09T19:18:36Z</updated>

		<summary type="html">&lt;p&gt;Scmcn22: /* Creating VPython Objects */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Claimed by Scott McNeill&lt;br /&gt;
&lt;br /&gt;
VPython is a Python graphics module used for modeling objects in 3-dimensional space.  In the field of physics, this is especially useful for calculating and modeling complex relationships between objects and their properties.&lt;br /&gt;
&lt;br /&gt;
[[File:VPythonMagneticForceAnimated.gif|thumb|VPython modeling the magnetic force on a moving particle]]&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
&lt;br /&gt;
VPython is compatible with Windows, OSX, and Linux.  While there is an older VPython version available that supports Python 3, the Georgia Tech physics courses use Python 2 syntax so it is recommended to install the latest version of VPython as outlined below.&lt;br /&gt;
&lt;br /&gt;
===Windows===&lt;br /&gt;
[[File:VPythonWindows.png|thumb|VPython running in Windows 7]]&lt;br /&gt;
&lt;br /&gt;
1. Install [http://python.org/ftp/python/2.7.9/python-2.7.9.amd64.msi Python-2.7].&lt;br /&gt;
&lt;br /&gt;
2. Download and install VPython from [http://sourceforge.net/projects/vpythonwx/files/6.11-release/VPython-Win-64-Py2.7-6.11.exe/download Sourceforge].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To troubleshoot any installation issues, look at the extensive [http://vpython.org/contents/download_windows.html VPython Windows installation guide].&lt;br /&gt;
&lt;br /&gt;
===OSX===&lt;br /&gt;
[[File:VPythonOSX.png|thumb|VPython running in OSX 10.10]]&lt;br /&gt;
&lt;br /&gt;
1. Install [https://www.python.org/ftp/python/2.7.9/python-2.7.9-macosx10.6.pkg Python-2.7].  This is required as the version of Python that Apple provides is not compatible.&lt;br /&gt;
&lt;br /&gt;
2. Download and install the VPython package from [http://sourceforge.net/projects/vpythonwx/files/6.11-release/VPython-Mac-Py2.7-6.11.dmg/download Sourceforge].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To troubleshoot installation issues, see the extensive [http://vpython.org/contents/download_mac.html VPython Mac installation guide].&lt;br /&gt;
&lt;br /&gt;
===GNU/Linux===&lt;br /&gt;
[[File:VPythonUbuntu.png|thumb|VPython running in Ubuntu 15.04+]]&lt;br /&gt;
&lt;br /&gt;
Some Linux distributions include VPython in their repositories.  For example, to install VPython in Ubuntu 15.04:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get install python-visual&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If your Linux distribution&#039;s repository does not have the latest version of VPython, you can run the Windows version using [https://www.winehq.org/ Wine].  The [http://vpython.org/contents/download_linux.html VPython Linux installation guide] contains detailed instructions.&lt;br /&gt;
&lt;br /&gt;
==Getting started with VPython==&lt;br /&gt;
The easiest way to use VPython is with VIDLE.  VIDLE is a development environment and is the most useful for editing and running code.  To start, open the VIDLE application (it may be called something like VIDLE-Py2.7).  A blank file should open.  Type the following two lines in:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;from __future__ import division&lt;br /&gt;
&lt;br /&gt;
from visual import *&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first line tells Python to not use integer division, which would result in &amp;lt;code&amp;gt;1/3&amp;lt;/code&amp;gt; returning the floor &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; instead of &amp;lt;code&amp;gt;0.3333333333333333&amp;lt;/code&amp;gt;.  The second line tells Python to import everything from the visual (VPython) library for you to use.&lt;br /&gt;
&lt;br /&gt;
After these two lines, you can create objects, assign variables, do calculations, and much more.  You can also run VPython from the command line, although it may require additional setup so Python can locate the &amp;lt;code&amp;gt;visual&amp;lt;/code&amp;gt; module.&lt;br /&gt;
&lt;br /&gt;
===Glowscript===&lt;br /&gt;
&lt;br /&gt;
Another useful method of using Vpython can be found at http://www.glowscript.org/. At this website, a user can make an account and have a script up and running within minutes on a web browser without having to deal with downloading any software or worrying about compatibility. Only downside is that it can be tricky to save the code for submitting to Webassign.&lt;br /&gt;
&lt;br /&gt;
==Creating VPython Objects==&lt;br /&gt;
When you create objects, it is often useful to assign them to variables so you can reference them later to either get or set values describing for example the position and size of the object.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sphere&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;particle = sphere(pos=(0,0,0), radius=4, color=color.blue)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This creates a blue sphere centered at the origin &amp;lt;0,0,0&amp;gt; with radius 4.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Arrow&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;arrowToOrigin = arrow(pos=(0,2,0), axis=(0,8,0), color=color.green)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This creates a green arrow pointing from &amp;lt;0,2,0&amp;gt; to &amp;lt;0,10,0&amp;gt;.  Note that &amp;lt;code&amp;gt;axis&amp;lt;/code&amp;gt; is always relative to the start of the arrow, not the origin &amp;lt;0,0,0&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cylinder&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;wire = cylinder(pos=(0,0,0), axis=(20,0,0), radius=1, color=color.yellow)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This creates a yellow cylinder starting at the origin &amp;lt;0,0,0&amp;gt; and extending to &amp;lt;20,0,0&amp;gt; with radius 1.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Helix&#039;&#039;&#039;&lt;br /&gt;
[[File:Sphere.png|200px|thumb|right|Sphere]] &lt;br /&gt;
&amp;lt;code&amp;gt;spring = helix(pos=(0,0,0), axis=(10,0,0), radius=0.75, color=color.cyan)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Creates a helix of color cyan at the origin and goes to &amp;lt;10,0,0&amp;gt; with a radius of 0.75.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pyramid&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;shape = pyramid(pos=(8,4,0), size=(20,4,10), color=color.red)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Creates a pyramid of size &amp;lt;20,4,10&amp;gt; starting at &amp;lt;8,4,0&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Object Positioning&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
It is very important to note that the position values for arrow, cylinder, helix, and pyramid corresponds to one end of the object, however for a box, sphere, or ring it corresponds to the center of the object.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example&#039;&#039;&#039;&lt;br /&gt;
[[File:VPythonObjects.png|thumb|Result of example code]]&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
from __future__ import division&lt;br /&gt;
from visual import *&lt;br /&gt;
&lt;br /&gt;
particle = sphere(pos=(0,0,0), radius=4, color=color.blue)&lt;br /&gt;
arrowToOrigin = arrow(pos=(0,2,0), axis=(0,8,0), color=color.green)&lt;br /&gt;
wire = cylinder(pos=(0,0,0), axis=(20,0,0), radius=1, color=color.yellow)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Updating objects&#039;&#039;&#039;&lt;br /&gt;
If you assign an object to a variable (such as &amp;lt;code&amp;gt;particle&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;arrowToOrigin&amp;lt;/code&amp;gt; above) you can adjust its parameters such as its location.  For the above sphere, you can change its location to &amp;lt;-5,-5,0&amp;gt; with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;particle.pos=(-5,-5,0)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To change the axis of the above arrow to point to &amp;lt;-10,5,0&amp;gt;, use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;arrowToOrigin.axis=(-10,5,0)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To change the radius of the above cylinder to 3, use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;wire.radius=3&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example&#039;&#039;&#039;&lt;br /&gt;
[[File:VPythonObjectsChanged.png|thumb|Result of example code]]&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
from __future__ import division&lt;br /&gt;
from visual import *&lt;br /&gt;
&lt;br /&gt;
particle = sphere(pos=(0,0,0), radius=4, color=color.blue)&lt;br /&gt;
arrowToOrigin = arrow(pos=(0,2,0), axis=(0,8,0), color=color.green)&lt;br /&gt;
wire = cylinder(pos=(0,0,0), axis=(20,0,0), radius=1, color=color.yellow)&lt;br /&gt;
&lt;br /&gt;
particle.pos=(-5,-5,0)&lt;br /&gt;
arrowToOrigin.axis=(-10,5,0)&lt;br /&gt;
wire.radius=3&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Useful built-in functions==&lt;br /&gt;
&lt;br /&gt;
VPython includes various functions that can make your calculations much easier.  The following functions simplify mathematical operations on vectors and will come in handy very often.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cross-multiply two vectors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cross(vectorA, vectorB)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Magnitude of a vector&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;mag(vector)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Square of the Magnitude of a vector&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;mag2(vector)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Unit vector of a vector&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;norm(vector)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Square Root&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sqrt(value)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Absolute Value&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;abs(value)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==VPython Operators==&lt;br /&gt;
&lt;br /&gt;
===Mathematical Operators===&lt;br /&gt;
1) #  comment out a line&lt;br /&gt;
&lt;br /&gt;
2) + - * /   addition, subtraction, multiplication, division&lt;br /&gt;
&lt;br /&gt;
3) ** exponential&lt;br /&gt;
&lt;br /&gt;
4) % modulus or remainder&lt;br /&gt;
&lt;br /&gt;
===Logical Operators===&lt;br /&gt;
1) ==  outputs true if the compared values are the same&lt;br /&gt;
&lt;br /&gt;
2) != outputs true if the compared values are not the same&lt;br /&gt;
&lt;br /&gt;
3) &amp;gt; or &amp;lt; outputs true if the compared values are greater or less than the other&lt;br /&gt;
&lt;br /&gt;
4) &amp;gt;= or &amp;lt;= Same as above but outputs true if greater or less than or equal to the compared value&lt;br /&gt;
&lt;br /&gt;
==Connectedness==&lt;br /&gt;
&lt;br /&gt;
I am very interested in programming.  I have used Python for years, so translating Physics problems into VPython code is a great way to cement the fundamental ideas in my mind.&lt;br /&gt;
&lt;br /&gt;
VPython is a great tool to bridge the worlds of Computer Science and Physics.  Many of the calculations required to model a physical object would be tedious if done by hand.  Yet with often a few lines of code, this work can be reduced to almost nothing.&lt;br /&gt;
&lt;br /&gt;
NASA has published [http://gcmd.gsfc.nasa.gov/KeywordSearch/Metadata.do?Portal=GCMD&amp;amp;MetadataType=1&amp;amp;MetadataView=Full&amp;amp;KeywordPath=&amp;amp;EntryId=3-D_ES-Models VPython models].  However, VPython is still primarily used in an educational context.&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
&lt;br /&gt;
VPython was originally released in 2000 by David Scherer after he took an introductory physics class at Carnegie Mellon University.  At the time, the school used the cT programming language for 2D modeling, and David saw the need for something better.  Working with several people including professors Ruth Chabay and Bruce Sherwood, he developed a Python module called Visual.  Visual Python or VPython featured 3D modeling, as well as an easier-to-understand object-oriented syntax.  Beginning in 2002, the National Science Foundation had awarded $292,286.00 as of December 2015 for the further development of this tool.  VPython is released under an Open Source license, and development continues today.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
If you have never used Python, the [[VPython_basics| VPython Basics]] wiki page has information for getting started with Python programming.&lt;br /&gt;
&lt;br /&gt;
===Further reading===&lt;br /&gt;
&lt;br /&gt;
Aiken, John M (2013). &#039;&#039;Transforming High School Physics With Modeling And Computation&#039;&#039;. Georgia State University.&lt;br /&gt;
&lt;br /&gt;
===External links===&lt;br /&gt;
&lt;br /&gt;
[http://www.wired.com/2015/08/coding-physics-course/ You Should Be Coding in Your Physics Course]&lt;br /&gt;
&lt;br /&gt;
[http://vpython.wikidot.com/ VPython Wiki Site]&lt;br /&gt;
&lt;br /&gt;
[https://groups.google.com/forum/#!forum/vpython-users VPython user group]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
This section contains the the references you used while writing this page&lt;br /&gt;
&lt;br /&gt;
[http://vpython.org/contents/cTsource/cToverview.html The cT Programming Language]&lt;br /&gt;
&lt;br /&gt;
[https://wiki.python.org/moin/VPython/ VPython - Python Wiki]&lt;br /&gt;
&lt;br /&gt;
[http://www.nsf.gov/awardsearch/showAward?AWD_ID=0237132 VPython NSF Award]&lt;br /&gt;
&lt;br /&gt;
[[Category:VPython]]&lt;/div&gt;</summary>
		<author><name>Scmcn22</name></author>
	</entry>
	<entry>
		<id>http://www.physicsbook.gatech.edu/index.php?title=File:Pythonw_2017-04-09_13-55-03.png&amp;diff=28081</id>
		<title>File:Pythonw 2017-04-09 13-55-03.png</title>
		<link rel="alternate" type="text/html" href="http://www.physicsbook.gatech.edu/index.php?title=File:Pythonw_2017-04-09_13-55-03.png&amp;diff=28081"/>
		<updated>2017-04-09T19:17:29Z</updated>

		<summary type="html">&lt;p&gt;Scmcn22: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Scmcn22</name></author>
	</entry>
	<entry>
		<id>http://www.physicsbook.gatech.edu/index.php?title=VPython&amp;diff=28005</id>
		<title>VPython</title>
		<link rel="alternate" type="text/html" href="http://www.physicsbook.gatech.edu/index.php?title=VPython&amp;diff=28005"/>
		<updated>2017-04-09T17:49:17Z</updated>

		<summary type="html">&lt;p&gt;Scmcn22: /* Creating VPython Objects */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Claimed by Scott McNeill&lt;br /&gt;
&lt;br /&gt;
VPython is a Python graphics module used for modeling objects in 3-dimensional space.  In the field of physics, this is especially useful for calculating and modeling complex relationships between objects and their properties.&lt;br /&gt;
&lt;br /&gt;
[[File:VPythonMagneticForceAnimated.gif|thumb|VPython modeling the magnetic force on a moving particle]]&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
&lt;br /&gt;
VPython is compatible with Windows, OSX, and Linux.  While there is an older VPython version available that supports Python 3, the Georgia Tech physics courses use Python 2 syntax so it is recommended to install the latest version of VPython as outlined below.&lt;br /&gt;
&lt;br /&gt;
===Windows===&lt;br /&gt;
[[File:VPythonWindows.png|thumb|VPython running in Windows 7]]&lt;br /&gt;
&lt;br /&gt;
1. Install [http://python.org/ftp/python/2.7.9/python-2.7.9.amd64.msi Python-2.7].&lt;br /&gt;
&lt;br /&gt;
2. Download and install VPython from [http://sourceforge.net/projects/vpythonwx/files/6.11-release/VPython-Win-64-Py2.7-6.11.exe/download Sourceforge].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To troubleshoot any installation issues, look at the extensive [http://vpython.org/contents/download_windows.html VPython Windows installation guide].&lt;br /&gt;
&lt;br /&gt;
===OSX===&lt;br /&gt;
[[File:VPythonOSX.png|thumb|VPython running in OSX 10.10]]&lt;br /&gt;
&lt;br /&gt;
1. Install [https://www.python.org/ftp/python/2.7.9/python-2.7.9-macosx10.6.pkg Python-2.7].  This is required as the version of Python that Apple provides is not compatible.&lt;br /&gt;
&lt;br /&gt;
2. Download and install the VPython package from [http://sourceforge.net/projects/vpythonwx/files/6.11-release/VPython-Mac-Py2.7-6.11.dmg/download Sourceforge].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To troubleshoot installation issues, see the extensive [http://vpython.org/contents/download_mac.html VPython Mac installation guide].&lt;br /&gt;
&lt;br /&gt;
===GNU/Linux===&lt;br /&gt;
[[File:VPythonUbuntu.png|thumb|VPython running in Ubuntu 15.04+]]&lt;br /&gt;
&lt;br /&gt;
Some Linux distributions include VPython in their repositories.  For example, to install VPython in Ubuntu 15.04:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get install python-visual&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If your Linux distribution&#039;s repository does not have the latest version of VPython, you can run the Windows version using [https://www.winehq.org/ Wine].  The [http://vpython.org/contents/download_linux.html VPython Linux installation guide] contains detailed instructions.&lt;br /&gt;
&lt;br /&gt;
==Getting started with VPython==&lt;br /&gt;
The easiest way to use VPython is with VIDLE.  VIDLE is a development environment and is the most useful for editing and running code.  To start, open the VIDLE application (it may be called something like VIDLE-Py2.7).  A blank file should open.  Type the following two lines in:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;from __future__ import division&lt;br /&gt;
&lt;br /&gt;
from visual import *&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first line tells Python to not use integer division, which would result in &amp;lt;code&amp;gt;1/3&amp;lt;/code&amp;gt; returning the floor &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; instead of &amp;lt;code&amp;gt;0.3333333333333333&amp;lt;/code&amp;gt;.  The second line tells Python to import everything from the visual (VPython) library for you to use.&lt;br /&gt;
&lt;br /&gt;
After these two lines, you can create objects, assign variables, do calculations, and much more.  You can also run VPython from the command line, although it may require additional setup so Python can locate the &amp;lt;code&amp;gt;visual&amp;lt;/code&amp;gt; module.&lt;br /&gt;
&lt;br /&gt;
===Glowscript===&lt;br /&gt;
&lt;br /&gt;
Another useful method of using Vpython can be found at http://www.glowscript.org/. At this website, a user can make an account and have a script up and running within minutes on a web browser without having to deal with downloading any software or worrying about compatibility. Only downside is that it can be tricky to save the code for submitting to Webassign.&lt;br /&gt;
&lt;br /&gt;
==Creating VPython Objects==&lt;br /&gt;
When you create objects, it is often useful to assign them to variables so you can reference them later to either get or set values describing for example the position and size of the object.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sphere&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;particle = sphere(pos=(0,0,0), radius=4, color=color.blue)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This creates a blue sphere centered at the origin &amp;lt;0,0,0&amp;gt; with radius 4.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Arrow&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;arrowToOrigin = arrow(pos=(0,2,0), axis=(0,8,0), color=color.green)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This creates a green arrow pointing from &amp;lt;0,2,0&amp;gt; to &amp;lt;0,10,0&amp;gt;.  Note that &amp;lt;code&amp;gt;axis&amp;lt;/code&amp;gt; is always relative to the start of the arrow, not the origin &amp;lt;0,0,0&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cylinder&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;wire = cylinder(pos=(0,0,0), axis=(20,0,0), radius=1, color=color.yellow)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This creates a yellow cylinder starting at the origin &amp;lt;0,0,0&amp;gt; and extending to &amp;lt;20,0,0&amp;gt; with radius 1.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Helix&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;spring = helix(pos=(0,0,0), axis=(10,0,0), radius=0.75, color=color.cyan)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Creates a helix of color cyan at the origin and goes to &amp;lt;10,0,0&amp;gt; with a radius of 0.75.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pyramid&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;shape = pyramid(pos=(8,4,0), size=(20,4,10), color=color.red)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Creates a pyramid of size &amp;lt;20,4,10&amp;gt; starting at &amp;lt;8,4,0&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Object Positioning&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
It is very important to note that the position values for arrow, cylinder, helix, and pyramid corresponds to one end of the object, however for a box, sphere, or ring it corresponds to the center of the object.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example&#039;&#039;&#039;&lt;br /&gt;
[[File:VPythonObjects.png|thumb|Result of example code]]&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
from __future__ import division&lt;br /&gt;
from visual import *&lt;br /&gt;
&lt;br /&gt;
particle = sphere(pos=(0,0,0), radius=4, color=color.blue)&lt;br /&gt;
arrowToOrigin = arrow(pos=(0,2,0), axis=(0,8,0), color=color.green)&lt;br /&gt;
wire = cylinder(pos=(0,0,0), axis=(20,0,0), radius=1, color=color.yellow)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Updating objects&#039;&#039;&#039;&lt;br /&gt;
If you assign an object to a variable (such as &amp;lt;code&amp;gt;particle&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;arrowToOrigin&amp;lt;/code&amp;gt; above) you can adjust its parameters such as its location.  For the above sphere, you can change its location to &amp;lt;-5,-5,0&amp;gt; with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;particle.pos=(-5,-5,0)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To change the axis of the above arrow to point to &amp;lt;-10,5,0&amp;gt;, use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;arrowToOrigin.axis=(-10,5,0)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To change the radius of the above cylinder to 3, use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;wire.radius=3&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example&#039;&#039;&#039;&lt;br /&gt;
[[File:VPythonObjectsChanged.png|thumb|Result of example code]]&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
from __future__ import division&lt;br /&gt;
from visual import *&lt;br /&gt;
&lt;br /&gt;
particle = sphere(pos=(0,0,0), radius=4, color=color.blue)&lt;br /&gt;
arrowToOrigin = arrow(pos=(0,2,0), axis=(0,8,0), color=color.green)&lt;br /&gt;
wire = cylinder(pos=(0,0,0), axis=(20,0,0), radius=1, color=color.yellow)&lt;br /&gt;
&lt;br /&gt;
particle.pos=(-5,-5,0)&lt;br /&gt;
arrowToOrigin.axis=(-10,5,0)&lt;br /&gt;
wire.radius=3&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Useful built-in functions==&lt;br /&gt;
&lt;br /&gt;
VPython includes various functions that can make your calculations much easier.  The following functions simplify mathematical operations on vectors and will come in handy very often.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cross-multiply two vectors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cross(vectorA, vectorB)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Magnitude of a vector&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;mag(vector)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Square of the Magnitude of a vector&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;mag2(vector)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Unit vector of a vector&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;norm(vector)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Square Root&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sqrt(value)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Absolute Value&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;abs(value)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==VPython Operators==&lt;br /&gt;
&lt;br /&gt;
===Mathematical Operators===&lt;br /&gt;
1) #  comment out a line&lt;br /&gt;
&lt;br /&gt;
2) + - * /   addition, subtraction, multiplication, division&lt;br /&gt;
&lt;br /&gt;
3) ** exponential&lt;br /&gt;
&lt;br /&gt;
4) % modulus or remainder&lt;br /&gt;
&lt;br /&gt;
===Logical Operators===&lt;br /&gt;
1) ==  outputs true if the compared values are the same&lt;br /&gt;
&lt;br /&gt;
2) != outputs true if the compared values are not the same&lt;br /&gt;
&lt;br /&gt;
3) &amp;gt; or &amp;lt; outputs true if the compared values are greater or less than the other&lt;br /&gt;
&lt;br /&gt;
4) &amp;gt;= or &amp;lt;= Same as above but outputs true if greater or less than or equal to the compared value&lt;br /&gt;
&lt;br /&gt;
==Connectedness==&lt;br /&gt;
&lt;br /&gt;
I am very interested in programming.  I have used Python for years, so translating Physics problems into VPython code is a great way to cement the fundamental ideas in my mind.&lt;br /&gt;
&lt;br /&gt;
VPython is a great tool to bridge the worlds of Computer Science and Physics.  Many of the calculations required to model a physical object would be tedious if done by hand.  Yet with often a few lines of code, this work can be reduced to almost nothing.&lt;br /&gt;
&lt;br /&gt;
NASA has published [http://gcmd.gsfc.nasa.gov/KeywordSearch/Metadata.do?Portal=GCMD&amp;amp;MetadataType=1&amp;amp;MetadataView=Full&amp;amp;KeywordPath=&amp;amp;EntryId=3-D_ES-Models VPython models].  However, VPython is still primarily used in an educational context.&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
&lt;br /&gt;
VPython was originally released in 2000 by David Scherer after he took an introductory physics class at Carnegie Mellon University.  At the time, the school used the cT programming language for 2D modeling, and David saw the need for something better.  Working with several people including professors Ruth Chabay and Bruce Sherwood, he developed a Python module called Visual.  Visual Python or VPython featured 3D modeling, as well as an easier-to-understand object-oriented syntax.  Beginning in 2002, the National Science Foundation had awarded $292,286.00 as of December 2015 for the further development of this tool.  VPython is released under an Open Source license, and development continues today.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
If you have never used Python, the [[VPython_basics| VPython Basics]] wiki page has information for getting started with Python programming.&lt;br /&gt;
&lt;br /&gt;
===Further reading===&lt;br /&gt;
&lt;br /&gt;
Aiken, John M (2013). &#039;&#039;Transforming High School Physics With Modeling And Computation&#039;&#039;. Georgia State University.&lt;br /&gt;
&lt;br /&gt;
===External links===&lt;br /&gt;
&lt;br /&gt;
[http://www.wired.com/2015/08/coding-physics-course/ You Should Be Coding in Your Physics Course]&lt;br /&gt;
&lt;br /&gt;
[http://vpython.wikidot.com/ VPython Wiki Site]&lt;br /&gt;
&lt;br /&gt;
[https://groups.google.com/forum/#!forum/vpython-users VPython user group]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
This section contains the the references you used while writing this page&lt;br /&gt;
&lt;br /&gt;
[http://vpython.org/contents/cTsource/cToverview.html The cT Programming Language]&lt;br /&gt;
&lt;br /&gt;
[https://wiki.python.org/moin/VPython/ VPython - Python Wiki]&lt;br /&gt;
&lt;br /&gt;
[http://www.nsf.gov/awardsearch/showAward?AWD_ID=0237132 VPython NSF Award]&lt;br /&gt;
&lt;br /&gt;
[[Category:VPython]]&lt;/div&gt;</summary>
		<author><name>Scmcn22</name></author>
	</entry>
	<entry>
		<id>http://www.physicsbook.gatech.edu/index.php?title=VPython&amp;diff=27998</id>
		<title>VPython</title>
		<link rel="alternate" type="text/html" href="http://www.physicsbook.gatech.edu/index.php?title=VPython&amp;diff=27998"/>
		<updated>2017-04-09T17:39:43Z</updated>

		<summary type="html">&lt;p&gt;Scmcn22: /* Getting started with VPython */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Claimed by Scott McNeill&lt;br /&gt;
&lt;br /&gt;
VPython is a Python graphics module used for modeling objects in 3-dimensional space.  In the field of physics, this is especially useful for calculating and modeling complex relationships between objects and their properties.&lt;br /&gt;
&lt;br /&gt;
[[File:VPythonMagneticForceAnimated.gif|thumb|VPython modeling the magnetic force on a moving particle]]&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
&lt;br /&gt;
VPython is compatible with Windows, OSX, and Linux.  While there is an older VPython version available that supports Python 3, the Georgia Tech physics courses use Python 2 syntax so it is recommended to install the latest version of VPython as outlined below.&lt;br /&gt;
&lt;br /&gt;
===Windows===&lt;br /&gt;
[[File:VPythonWindows.png|thumb|VPython running in Windows 7]]&lt;br /&gt;
&lt;br /&gt;
1. Install [http://python.org/ftp/python/2.7.9/python-2.7.9.amd64.msi Python-2.7].&lt;br /&gt;
&lt;br /&gt;
2. Download and install VPython from [http://sourceforge.net/projects/vpythonwx/files/6.11-release/VPython-Win-64-Py2.7-6.11.exe/download Sourceforge].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To troubleshoot any installation issues, look at the extensive [http://vpython.org/contents/download_windows.html VPython Windows installation guide].&lt;br /&gt;
&lt;br /&gt;
===OSX===&lt;br /&gt;
[[File:VPythonOSX.png|thumb|VPython running in OSX 10.10]]&lt;br /&gt;
&lt;br /&gt;
1. Install [https://www.python.org/ftp/python/2.7.9/python-2.7.9-macosx10.6.pkg Python-2.7].  This is required as the version of Python that Apple provides is not compatible.&lt;br /&gt;
&lt;br /&gt;
2. Download and install the VPython package from [http://sourceforge.net/projects/vpythonwx/files/6.11-release/VPython-Mac-Py2.7-6.11.dmg/download Sourceforge].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To troubleshoot installation issues, see the extensive [http://vpython.org/contents/download_mac.html VPython Mac installation guide].&lt;br /&gt;
&lt;br /&gt;
===GNU/Linux===&lt;br /&gt;
[[File:VPythonUbuntu.png|thumb|VPython running in Ubuntu 15.04+]]&lt;br /&gt;
&lt;br /&gt;
Some Linux distributions include VPython in their repositories.  For example, to install VPython in Ubuntu 15.04:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get install python-visual&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If your Linux distribution&#039;s repository does not have the latest version of VPython, you can run the Windows version using [https://www.winehq.org/ Wine].  The [http://vpython.org/contents/download_linux.html VPython Linux installation guide] contains detailed instructions.&lt;br /&gt;
&lt;br /&gt;
==Getting started with VPython==&lt;br /&gt;
The easiest way to use VPython is with VIDLE.  VIDLE is a development environment and is the most useful for editing and running code.  To start, open the VIDLE application (it may be called something like VIDLE-Py2.7).  A blank file should open.  Type the following two lines in:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;from __future__ import division&lt;br /&gt;
&lt;br /&gt;
from visual import *&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first line tells Python to not use integer division, which would result in &amp;lt;code&amp;gt;1/3&amp;lt;/code&amp;gt; returning the floor &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; instead of &amp;lt;code&amp;gt;0.3333333333333333&amp;lt;/code&amp;gt;.  The second line tells Python to import everything from the visual (VPython) library for you to use.&lt;br /&gt;
&lt;br /&gt;
After these two lines, you can create objects, assign variables, do calculations, and much more.  You can also run VPython from the command line, although it may require additional setup so Python can locate the &amp;lt;code&amp;gt;visual&amp;lt;/code&amp;gt; module.&lt;br /&gt;
&lt;br /&gt;
===Glowscript===&lt;br /&gt;
&lt;br /&gt;
Another useful method of using Vpython can be found at http://www.glowscript.org/. At this website, a user can make an account and have a script up and running within minutes on a web browser without having to deal with downloading any software or worrying about compatibility. Only downside is that it can be tricky to save the code for submitting to Webassign.&lt;br /&gt;
&lt;br /&gt;
==Creating VPython Objects==&lt;br /&gt;
When you create objects, it is often useful to assign them to variables so you can reference them later to either get or set values describing for example the position and size of the object.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sphere&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;particle = sphere(pos=(0,0,0), radius=4, color=color.blue)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This creates a blue sphere centered at the origin &amp;lt;0,0,0&amp;gt; with radius 4.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Arrow&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;arrowToOrigin = arrow(pos=(0,2,0), axis=(0,8,0), color=color.green)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This creates a green arrow pointing from &amp;lt;0,2,0&amp;gt; to &amp;lt;0,10,0&amp;gt;.  Note that &amp;lt;code&amp;gt;axis&amp;lt;/code&amp;gt; is always relative to the start of the arrow, not the origin &amp;lt;0,0,0&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cylinder&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;wire = cylinder(pos=(0,0,0), axis=(20,0,0), radius=1, color=color.yellow)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This creates a yellow cylinder starting at the origin &amp;lt;0,0,0&amp;gt; and extending to &amp;lt;20,0,0&amp;gt; with radius 1.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example&#039;&#039;&#039;&lt;br /&gt;
[[File:VPythonObjects.png|thumb|Result of example code]]&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
from __future__ import division&lt;br /&gt;
from visual import *&lt;br /&gt;
&lt;br /&gt;
particle = sphere(pos=(0,0,0), radius=4, color=color.blue)&lt;br /&gt;
arrowToOrigin = arrow(pos=(0,2,0), axis=(0,8,0), color=color.green)&lt;br /&gt;
wire = cylinder(pos=(0,0,0), axis=(20,0,0), radius=1, color=color.yellow)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Updating objects&#039;&#039;&#039;&lt;br /&gt;
If you assign an object to a variable (such as &amp;lt;code&amp;gt;particle&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;arrowToOrigin&amp;lt;/code&amp;gt; above) you can adjust its parameters such as its location.  For the above sphere, you can change its location to &amp;lt;-5,-5,0&amp;gt; with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;particle.pos=(-5,-5,0)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To change the axis of the above arrow to point to &amp;lt;-10,5,0&amp;gt;, use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;arrowToOrigin.axis=(-10,5,0)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To change the radius of the above cylinder to 3, use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;wire.radius=3&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example&#039;&#039;&#039;&lt;br /&gt;
[[File:VPythonObjectsChanged.png|thumb|Result of example code]]&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
from __future__ import division&lt;br /&gt;
from visual import *&lt;br /&gt;
&lt;br /&gt;
particle = sphere(pos=(0,0,0), radius=4, color=color.blue)&lt;br /&gt;
arrowToOrigin = arrow(pos=(0,2,0), axis=(0,8,0), color=color.green)&lt;br /&gt;
wire = cylinder(pos=(0,0,0), axis=(20,0,0), radius=1, color=color.yellow)&lt;br /&gt;
&lt;br /&gt;
particle.pos=(-5,-5,0)&lt;br /&gt;
arrowToOrigin.axis=(-10,5,0)&lt;br /&gt;
wire.radius=3&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Useful built-in functions==&lt;br /&gt;
&lt;br /&gt;
VPython includes various functions that can make your calculations much easier.  The following functions simplify mathematical operations on vectors and will come in handy very often.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cross-multiply two vectors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cross(vectorA, vectorB)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Magnitude of a vector&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;mag(vector)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Square of the Magnitude of a vector&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;mag2(vector)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Unit vector of a vector&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;norm(vector)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Square Root&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sqrt(value)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Absolute Value&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;abs(value)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==VPython Operators==&lt;br /&gt;
&lt;br /&gt;
===Mathematical Operators===&lt;br /&gt;
1) #  comment out a line&lt;br /&gt;
&lt;br /&gt;
2) + - * /   addition, subtraction, multiplication, division&lt;br /&gt;
&lt;br /&gt;
3) ** exponential&lt;br /&gt;
&lt;br /&gt;
4) % modulus or remainder&lt;br /&gt;
&lt;br /&gt;
===Logical Operators===&lt;br /&gt;
1) ==  outputs true if the compared values are the same&lt;br /&gt;
&lt;br /&gt;
2) != outputs true if the compared values are not the same&lt;br /&gt;
&lt;br /&gt;
3) &amp;gt; or &amp;lt; outputs true if the compared values are greater or less than the other&lt;br /&gt;
&lt;br /&gt;
4) &amp;gt;= or &amp;lt;= Same as above but outputs true if greater or less than or equal to the compared value&lt;br /&gt;
&lt;br /&gt;
==Connectedness==&lt;br /&gt;
&lt;br /&gt;
I am very interested in programming.  I have used Python for years, so translating Physics problems into VPython code is a great way to cement the fundamental ideas in my mind.&lt;br /&gt;
&lt;br /&gt;
VPython is a great tool to bridge the worlds of Computer Science and Physics.  Many of the calculations required to model a physical object would be tedious if done by hand.  Yet with often a few lines of code, this work can be reduced to almost nothing.&lt;br /&gt;
&lt;br /&gt;
NASA has published [http://gcmd.gsfc.nasa.gov/KeywordSearch/Metadata.do?Portal=GCMD&amp;amp;MetadataType=1&amp;amp;MetadataView=Full&amp;amp;KeywordPath=&amp;amp;EntryId=3-D_ES-Models VPython models].  However, VPython is still primarily used in an educational context.&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
&lt;br /&gt;
VPython was originally released in 2000 by David Scherer after he took an introductory physics class at Carnegie Mellon University.  At the time, the school used the cT programming language for 2D modeling, and David saw the need for something better.  Working with several people including professors Ruth Chabay and Bruce Sherwood, he developed a Python module called Visual.  Visual Python or VPython featured 3D modeling, as well as an easier-to-understand object-oriented syntax.  Beginning in 2002, the National Science Foundation had awarded $292,286.00 as of December 2015 for the further development of this tool.  VPython is released under an Open Source license, and development continues today.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
If you have never used Python, the [[VPython_basics| VPython Basics]] wiki page has information for getting started with Python programming.&lt;br /&gt;
&lt;br /&gt;
===Further reading===&lt;br /&gt;
&lt;br /&gt;
Aiken, John M (2013). &#039;&#039;Transforming High School Physics With Modeling And Computation&#039;&#039;. Georgia State University.&lt;br /&gt;
&lt;br /&gt;
===External links===&lt;br /&gt;
&lt;br /&gt;
[http://www.wired.com/2015/08/coding-physics-course/ You Should Be Coding in Your Physics Course]&lt;br /&gt;
&lt;br /&gt;
[http://vpython.wikidot.com/ VPython Wiki Site]&lt;br /&gt;
&lt;br /&gt;
[https://groups.google.com/forum/#!forum/vpython-users VPython user group]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
This section contains the the references you used while writing this page&lt;br /&gt;
&lt;br /&gt;
[http://vpython.org/contents/cTsource/cToverview.html The cT Programming Language]&lt;br /&gt;
&lt;br /&gt;
[https://wiki.python.org/moin/VPython/ VPython - Python Wiki]&lt;br /&gt;
&lt;br /&gt;
[http://www.nsf.gov/awardsearch/showAward?AWD_ID=0237132 VPython NSF Award]&lt;br /&gt;
&lt;br /&gt;
[[Category:VPython]]&lt;/div&gt;</summary>
		<author><name>Scmcn22</name></author>
	</entry>
	<entry>
		<id>http://www.physicsbook.gatech.edu/index.php?title=VPython&amp;diff=27997</id>
		<title>VPython</title>
		<link rel="alternate" type="text/html" href="http://www.physicsbook.gatech.edu/index.php?title=VPython&amp;diff=27997"/>
		<updated>2017-04-09T17:39:36Z</updated>

		<summary type="html">&lt;p&gt;Scmcn22: /* Glowscript */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Claimed by Scott McNeill&lt;br /&gt;
&lt;br /&gt;
VPython is a Python graphics module used for modeling objects in 3-dimensional space.  In the field of physics, this is especially useful for calculating and modeling complex relationships between objects and their properties.&lt;br /&gt;
&lt;br /&gt;
[[File:VPythonMagneticForceAnimated.gif|thumb|VPython modeling the magnetic force on a moving particle]]&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
&lt;br /&gt;
VPython is compatible with Windows, OSX, and Linux.  While there is an older VPython version available that supports Python 3, the Georgia Tech physics courses use Python 2 syntax so it is recommended to install the latest version of VPython as outlined below.&lt;br /&gt;
&lt;br /&gt;
===Windows===&lt;br /&gt;
[[File:VPythonWindows.png|thumb|VPython running in Windows 7]]&lt;br /&gt;
&lt;br /&gt;
1. Install [http://python.org/ftp/python/2.7.9/python-2.7.9.amd64.msi Python-2.7].&lt;br /&gt;
&lt;br /&gt;
2. Download and install VPython from [http://sourceforge.net/projects/vpythonwx/files/6.11-release/VPython-Win-64-Py2.7-6.11.exe/download Sourceforge].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To troubleshoot any installation issues, look at the extensive [http://vpython.org/contents/download_windows.html VPython Windows installation guide].&lt;br /&gt;
&lt;br /&gt;
===OSX===&lt;br /&gt;
[[File:VPythonOSX.png|thumb|VPython running in OSX 10.10]]&lt;br /&gt;
&lt;br /&gt;
1. Install [https://www.python.org/ftp/python/2.7.9/python-2.7.9-macosx10.6.pkg Python-2.7].  This is required as the version of Python that Apple provides is not compatible.&lt;br /&gt;
&lt;br /&gt;
2. Download and install the VPython package from [http://sourceforge.net/projects/vpythonwx/files/6.11-release/VPython-Mac-Py2.7-6.11.dmg/download Sourceforge].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To troubleshoot installation issues, see the extensive [http://vpython.org/contents/download_mac.html VPython Mac installation guide].&lt;br /&gt;
&lt;br /&gt;
===GNU/Linux===&lt;br /&gt;
[[File:VPythonUbuntu.png|thumb|VPython running in Ubuntu 15.04+]]&lt;br /&gt;
&lt;br /&gt;
Some Linux distributions include VPython in their repositories.  For example, to install VPython in Ubuntu 15.04:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get install python-visual&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If your Linux distribution&#039;s repository does not have the latest version of VPython, you can run the Windows version using [https://www.winehq.org/ Wine].  The [http://vpython.org/contents/download_linux.html VPython Linux installation guide] contains detailed instructions.&lt;br /&gt;
&lt;br /&gt;
==Getting started with VPython==&lt;br /&gt;
The easiest way to use VPython is with VIDLE.  VIDLE is a development environment and is the most useful for editing and running code.  To start, open the VIDLE application (it may be called something like VIDLE-Py2.7).  A blank file should open.  Type the following two lines in:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;from __future__ import division&lt;br /&gt;
&lt;br /&gt;
from visual import *&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first line tells Python to not use integer division, which would result in &amp;lt;code&amp;gt;1/3&amp;lt;/code&amp;gt; returning the floor &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; instead of &amp;lt;code&amp;gt;0.3333333333333333&amp;lt;/code&amp;gt;.  The second line tells Python to import everything from the visual (VPython) library for you to use.&lt;br /&gt;
&lt;br /&gt;
After these two lines, you can create objects, assign variables, do calculations, and much more.  You can also run VPython from the command line, although it may require additional setup so Python can locate the &amp;lt;code&amp;gt;visual&amp;lt;/code&amp;gt; module.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Creating VPython Objects==&lt;br /&gt;
When you create objects, it is often useful to assign them to variables so you can reference them later to either get or set values describing for example the position and size of the object.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sphere&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;particle = sphere(pos=(0,0,0), radius=4, color=color.blue)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This creates a blue sphere centered at the origin &amp;lt;0,0,0&amp;gt; with radius 4.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Arrow&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;arrowToOrigin = arrow(pos=(0,2,0), axis=(0,8,0), color=color.green)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This creates a green arrow pointing from &amp;lt;0,2,0&amp;gt; to &amp;lt;0,10,0&amp;gt;.  Note that &amp;lt;code&amp;gt;axis&amp;lt;/code&amp;gt; is always relative to the start of the arrow, not the origin &amp;lt;0,0,0&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cylinder&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;wire = cylinder(pos=(0,0,0), axis=(20,0,0), radius=1, color=color.yellow)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This creates a yellow cylinder starting at the origin &amp;lt;0,0,0&amp;gt; and extending to &amp;lt;20,0,0&amp;gt; with radius 1.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example&#039;&#039;&#039;&lt;br /&gt;
[[File:VPythonObjects.png|thumb|Result of example code]]&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
from __future__ import division&lt;br /&gt;
from visual import *&lt;br /&gt;
&lt;br /&gt;
particle = sphere(pos=(0,0,0), radius=4, color=color.blue)&lt;br /&gt;
arrowToOrigin = arrow(pos=(0,2,0), axis=(0,8,0), color=color.green)&lt;br /&gt;
wire = cylinder(pos=(0,0,0), axis=(20,0,0), radius=1, color=color.yellow)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Updating objects&#039;&#039;&#039;&lt;br /&gt;
If you assign an object to a variable (such as &amp;lt;code&amp;gt;particle&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;arrowToOrigin&amp;lt;/code&amp;gt; above) you can adjust its parameters such as its location.  For the above sphere, you can change its location to &amp;lt;-5,-5,0&amp;gt; with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;particle.pos=(-5,-5,0)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To change the axis of the above arrow to point to &amp;lt;-10,5,0&amp;gt;, use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;arrowToOrigin.axis=(-10,5,0)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To change the radius of the above cylinder to 3, use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;wire.radius=3&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example&#039;&#039;&#039;&lt;br /&gt;
[[File:VPythonObjectsChanged.png|thumb|Result of example code]]&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
from __future__ import division&lt;br /&gt;
from visual import *&lt;br /&gt;
&lt;br /&gt;
particle = sphere(pos=(0,0,0), radius=4, color=color.blue)&lt;br /&gt;
arrowToOrigin = arrow(pos=(0,2,0), axis=(0,8,0), color=color.green)&lt;br /&gt;
wire = cylinder(pos=(0,0,0), axis=(20,0,0), radius=1, color=color.yellow)&lt;br /&gt;
&lt;br /&gt;
particle.pos=(-5,-5,0)&lt;br /&gt;
arrowToOrigin.axis=(-10,5,0)&lt;br /&gt;
wire.radius=3&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Useful built-in functions==&lt;br /&gt;
&lt;br /&gt;
VPython includes various functions that can make your calculations much easier.  The following functions simplify mathematical operations on vectors and will come in handy very often.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cross-multiply two vectors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cross(vectorA, vectorB)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Magnitude of a vector&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;mag(vector)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Square of the Magnitude of a vector&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;mag2(vector)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Unit vector of a vector&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;norm(vector)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Square Root&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sqrt(value)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Absolute Value&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;abs(value)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==VPython Operators==&lt;br /&gt;
&lt;br /&gt;
===Mathematical Operators===&lt;br /&gt;
1) #  comment out a line&lt;br /&gt;
&lt;br /&gt;
2) + - * /   addition, subtraction, multiplication, division&lt;br /&gt;
&lt;br /&gt;
3) ** exponential&lt;br /&gt;
&lt;br /&gt;
4) % modulus or remainder&lt;br /&gt;
&lt;br /&gt;
===Logical Operators===&lt;br /&gt;
1) ==  outputs true if the compared values are the same&lt;br /&gt;
&lt;br /&gt;
2) != outputs true if the compared values are not the same&lt;br /&gt;
&lt;br /&gt;
3) &amp;gt; or &amp;lt; outputs true if the compared values are greater or less than the other&lt;br /&gt;
&lt;br /&gt;
4) &amp;gt;= or &amp;lt;= Same as above but outputs true if greater or less than or equal to the compared value&lt;br /&gt;
&lt;br /&gt;
==Connectedness==&lt;br /&gt;
&lt;br /&gt;
I am very interested in programming.  I have used Python for years, so translating Physics problems into VPython code is a great way to cement the fundamental ideas in my mind.&lt;br /&gt;
&lt;br /&gt;
VPython is a great tool to bridge the worlds of Computer Science and Physics.  Many of the calculations required to model a physical object would be tedious if done by hand.  Yet with often a few lines of code, this work can be reduced to almost nothing.&lt;br /&gt;
&lt;br /&gt;
NASA has published [http://gcmd.gsfc.nasa.gov/KeywordSearch/Metadata.do?Portal=GCMD&amp;amp;MetadataType=1&amp;amp;MetadataView=Full&amp;amp;KeywordPath=&amp;amp;EntryId=3-D_ES-Models VPython models].  However, VPython is still primarily used in an educational context.&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
&lt;br /&gt;
VPython was originally released in 2000 by David Scherer after he took an introductory physics class at Carnegie Mellon University.  At the time, the school used the cT programming language for 2D modeling, and David saw the need for something better.  Working with several people including professors Ruth Chabay and Bruce Sherwood, he developed a Python module called Visual.  Visual Python or VPython featured 3D modeling, as well as an easier-to-understand object-oriented syntax.  Beginning in 2002, the National Science Foundation had awarded $292,286.00 as of December 2015 for the further development of this tool.  VPython is released under an Open Source license, and development continues today.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
If you have never used Python, the [[VPython_basics| VPython Basics]] wiki page has information for getting started with Python programming.&lt;br /&gt;
&lt;br /&gt;
===Further reading===&lt;br /&gt;
&lt;br /&gt;
Aiken, John M (2013). &#039;&#039;Transforming High School Physics With Modeling And Computation&#039;&#039;. Georgia State University.&lt;br /&gt;
&lt;br /&gt;
===External links===&lt;br /&gt;
&lt;br /&gt;
[http://www.wired.com/2015/08/coding-physics-course/ You Should Be Coding in Your Physics Course]&lt;br /&gt;
&lt;br /&gt;
[http://vpython.wikidot.com/ VPython Wiki Site]&lt;br /&gt;
&lt;br /&gt;
[https://groups.google.com/forum/#!forum/vpython-users VPython user group]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
This section contains the the references you used while writing this page&lt;br /&gt;
&lt;br /&gt;
[http://vpython.org/contents/cTsource/cToverview.html The cT Programming Language]&lt;br /&gt;
&lt;br /&gt;
[https://wiki.python.org/moin/VPython/ VPython - Python Wiki]&lt;br /&gt;
&lt;br /&gt;
[http://www.nsf.gov/awardsearch/showAward?AWD_ID=0237132 VPython NSF Award]&lt;br /&gt;
&lt;br /&gt;
[[Category:VPython]]&lt;/div&gt;</summary>
		<author><name>Scmcn22</name></author>
	</entry>
	<entry>
		<id>http://www.physicsbook.gatech.edu/index.php?title=Main_Page&amp;diff=27993</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://www.physicsbook.gatech.edu/index.php?title=Main_Page&amp;diff=27993"/>
		<updated>2017-04-09T17:38:34Z</updated>

		<summary type="html">&lt;p&gt;Scmcn22: /* VPython Basics */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
= &#039;&#039;&#039;Georgia Tech Student Wiki for Introductory Physics.&#039;&#039;&#039; =&lt;br /&gt;
&lt;br /&gt;
This resource was created so that students can contribute and curate content to help those with limited or no access to a textbook.  When reading this website, please correct any errors you may come across. If you read something that isn&#039;t clear, please consider revising it for future students!&lt;br /&gt;
&lt;br /&gt;
Looking to make a contribution?&lt;br /&gt;
#Pick one of the topics from intro physics listed below&lt;br /&gt;
#Add content to that topic or improve the quality of what is already there.&lt;br /&gt;
#Need to make a new topic? Edit this page and add it to the list under the appropriate category.  Then copy and paste the default [[Template]] into your new page and start editing.&lt;br /&gt;
&lt;br /&gt;
Please remember that this is not a textbook and you are not limited to expressing your ideas with only text and equations.  Whenever possible embed: pictures, videos, diagrams, simulations, computational models (e.g. Glowscript), and whatever content you think makes learning physics easier for other students.&lt;br /&gt;
&lt;br /&gt;
== Source Material ==&lt;br /&gt;
All of the content added to this resource must be in the public domain or similar free resource.  If you are unsure about a source, contact the original author for permission. That said, there is a surprisingly large amount of introductory physics content scattered across the web.  Here is an incomplete list of intro physics resources (please update as needed).&lt;br /&gt;
* A physics resource written by experts for an expert audience [https://en.wikipedia.org/wiki/Portal:Physics Physics Portal]&lt;br /&gt;
* A wiki written for students by a physics expert [http://p3server.pa.msu.edu/coursewiki/doku.php?id=183_notes MSU Physics Wiki]&lt;br /&gt;
* A wiki book on modern physics [https://en.wikibooks.org/wiki/Modern_Physics Modern Physics Wiki]&lt;br /&gt;
* The MIT open courseware for intro physics [http://ocw.mit.edu/resources/res-8-002-a-wikitextbook-for-introductory-mechanics-fall-2009/index.htm MITOCW Wiki]&lt;br /&gt;
* An online concept map of intro physics [http://hyperphysics.phy-astr.gsu.edu/hbase/hph.html HyperPhysics]&lt;br /&gt;
* Interactive physics simulations [https://phet.colorado.edu/en/simulations/category/physics PhET]&lt;br /&gt;
* OpenStax intro physics textbooks: [https://openstax.org/details/books/university-physics-volume-1  Vol1], [https://openstax.org/details/books/university-physics-volume-2  Vol2], [https://openstax.org/details/books/university-physics-volume-3  Vol3]&lt;br /&gt;
* The Open Source Physics project is a collection of online physics resources [http://www.opensourcephysics.org/ OSP]&lt;br /&gt;
* A resource guide compiled by the [http://www.aapt.org/ AAPT] for educators [http://www.compadre.org/ ComPADRE]&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
* Commonly used wiki commands [https://en.wikipedia.org/wiki/Help:Cheatsheet Wiki Cheatsheet]&lt;br /&gt;
* A guide to representing equations in math mode [https://en.wikipedia.org/wiki/Help:Displaying_a_formula Wiki Math Mode]&lt;br /&gt;
* A page to keep track of all the physics [[Constants]]&lt;br /&gt;
* A page for review of [[Vectors]] and vector operations&lt;br /&gt;
* A listing of [[Notable Scientist]] with links to their individual pages &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left; width:30%; padding:1%;&amp;quot;&amp;gt;&lt;br /&gt;
==Physics 1==&lt;br /&gt;
===Week 1===&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Help with VPython====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Python Syntax]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Vectors and Units====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Vectors]]&lt;br /&gt;
*[[SI Units]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====VPython====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[VPython]]&lt;br /&gt;
*[[VPython basics]]&lt;br /&gt;
*[[VPython Common Errors and Troubleshooting]]&lt;br /&gt;
*[[VPython Functions]]&lt;br /&gt;
*[[VPython Lists]]&lt;br /&gt;
*[[VPython Loops]]&lt;br /&gt;
*[[VPython Multithreading]]&lt;br /&gt;
*[[VPython Animation]]&lt;br /&gt;
*[[VPython Objects]]&lt;br /&gt;
*[[VPython 3D Objects]]&lt;br /&gt;
*[[VPython Reference]]&lt;br /&gt;
*[[VPython MapReduceFilter]]&lt;br /&gt;
*[[VPython GUIs]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Vectors and Units====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Vectors]]&lt;br /&gt;
*[[SI Units]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Interactions====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Types of Interactions and How to Detect Them]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Velocity and Momentum====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Newton&#039;s First Law of Motion]]&lt;br /&gt;
*[[Velocity]]&lt;br /&gt;
*[[Mass]]&lt;br /&gt;
*[[Speed and Velocity]]&lt;br /&gt;
*[[Relative Velocity]]&lt;br /&gt;
*[[Derivation of Average Velocity]]&lt;br /&gt;
*[[2-Dimensional Motion]]&lt;br /&gt;
*[[3-Dimensional Position and Motion]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Week 2===&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Momentum and the Momentum Principle====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Momentum Principle]]&lt;br /&gt;
*[[Inertia]]&lt;br /&gt;
*[[Net Force]]&lt;br /&gt;
*[[Derivation of the Momentum Principle]]&lt;br /&gt;
*[[Impulse Momentum]]&lt;br /&gt;
*[[Acceleration]]&lt;br /&gt;
*[[Momentum with respect to external Forces]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Iterative Prediction with a Constant Force====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Newton’s Second Law of Motion]]&lt;br /&gt;
*[[Iterative Prediction]]&lt;br /&gt;
*[[Kinematics]]&lt;br /&gt;
*[[Newton’s Laws and Linear Momentum]]&lt;br /&gt;
*[[Projectile Motion]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Week 3===&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Analytic Prediction with a Constant Force====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Analytical Prediction]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Iterative Prediction with a Varying Force====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Predicting Change in multiple dimensions]]&lt;br /&gt;
*[[Spring Force]]&lt;br /&gt;
*[[Hooke&#039;s Law]]&lt;br /&gt;
*[[Simple Harmonic Motion]]&lt;br /&gt;
*[[Iterative Prediction of Spring-Mass System]]&lt;br /&gt;
*[[Terminal Speed]]&lt;br /&gt;
*[[Determinism]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Week 4===&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Fundamental Interactions====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
==Main Idea==&lt;br /&gt;
&lt;br /&gt;
*[[Gravitational Force]]&lt;br /&gt;
&lt;br /&gt;
*[[An Application of Gravitational Potential]]&lt;br /&gt;
*[[Electric Force]]&lt;br /&gt;
*[[Reciprocity]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Week 5===&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Conservation of Momentum====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Conservation of Momentum]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Properties of Matter====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Kinds of Matter]]&lt;br /&gt;
*[[Ball and Spring Model of Matter]]&lt;br /&gt;
*[[Density]]&lt;br /&gt;
*[[Length and Stiffness of an Interatomic Bond]]&lt;br /&gt;
*[[Young&#039;s Modulus]]&lt;br /&gt;
*[[Speed of Sound in Solids]]&lt;br /&gt;
*[[Malleability]]&lt;br /&gt;
*[[Ductility]]&lt;br /&gt;
*[[Weight]]&lt;br /&gt;
*[[Hardness]]&lt;br /&gt;
*[[Boiling Point]]&lt;br /&gt;
*[[Melting Point]]&lt;br /&gt;
*[[Change of State]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Week 6===&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Identifying Forces====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Free Body Diagram]]&lt;br /&gt;
*[[Inclined Plane]]&lt;br /&gt;
*[[Compression or Normal Force]]&lt;br /&gt;
*[[Tension]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Curving Motion====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Curving Motion]]&lt;br /&gt;
*[[Centripetal Force and Curving Motion]]&lt;br /&gt;
*[[Perpetual Freefall (Orbit)]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Week 7===&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Energy Principle====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[The Energy Principle]]&lt;br /&gt;
*[[Conservation of Energy]]&lt;br /&gt;
*[[Kinetic Energy]]&lt;br /&gt;
*[[Work]]&lt;br /&gt;
*[[Power (Mechanical)]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Week 8===&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Work by Non-Constant Forces====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Work Done By A Nonconstant Force]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Potential Energy====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Potential Energy]]&lt;br /&gt;
*[[Potential Energy of Macroscopic Springs]]&lt;br /&gt;
*[[Spring Potential Energy]]&lt;br /&gt;
*[[Ball and Spring Model]]&lt;br /&gt;
*[[Gravitational Potential Energy]]&lt;br /&gt;
*[[Energy Graphs]]&lt;br /&gt;
*[[Escape Velocity]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Week 9===&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Multiparticle Systems====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Center of Mass]]&lt;br /&gt;
*[[Multi-particle analysis of Momentum]]&lt;br /&gt;
*[[Momentum with respect to external Forces]]&lt;br /&gt;
*[[Potential Energy of a Multiparticle System]]&lt;br /&gt;
*[[Work and Energy for an Extended System]]&lt;br /&gt;
*[[Internal Energy]]&lt;br /&gt;
**[[Potential Energy of a Pair of Neutral Atoms]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Week 10===&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Choice of System====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[System &amp;amp; Surroundings]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Thermal Energy, Dissipation and Transfer of Energy====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Thermal Energy]]&lt;br /&gt;
*[[Specific Heat]]&lt;br /&gt;
*[[Heat Capacity]]&lt;br /&gt;
*[[Specific Heat Capacity]]&lt;br /&gt;
*[[First Law of Thermodynamics]]&lt;br /&gt;
*[[Second Law of Thermodynamics and Entropy]]&lt;br /&gt;
*[[Temperature]]&lt;br /&gt;
*[[Predicting Change]]&lt;br /&gt;
*[[Energy Transfer due to a Temperature Difference]]&lt;br /&gt;
*[[Transformation of Energy]]&lt;br /&gt;
*[[The Maxwell-Boltzmann Distribution]]&lt;br /&gt;
*[[Air Resistance]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Rotational and Vibrational Energy====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Translational, Rotational and Vibrational Energy]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Week 11===&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Different Models of a System====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Point Particle Systems]]&lt;br /&gt;
*[[Real Systems]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Models of Friction====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Friction]]&lt;br /&gt;
*[[Static Friction]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Week 12===&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Collisions====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Newton&#039;s Third Law of Motion]]&lt;br /&gt;
*[[Collisions]]&lt;br /&gt;
*[[Elastic Collisions]]&lt;br /&gt;
*[[Inelastic Collisions]]&lt;br /&gt;
*[[Maximally Inelastic Collision]]&lt;br /&gt;
*[[Head-on Collision of Equal Masses]]&lt;br /&gt;
*[[Head-on Collision of Unequal Masses]]&lt;br /&gt;
*[[Scattering: Collisions in 2D and 3D]]&lt;br /&gt;
*[[Rutherford Experiment and Atomic Collisions]]&lt;br /&gt;
*[[Coefficient of Restitution]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Week 13===&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Rotations====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Rotation]]&lt;br /&gt;
*[[Angular Velocity]]&lt;br /&gt;
*[[Eulerian Angles]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Angular Momentum====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Total Angular Momentum]]&lt;br /&gt;
*[[Translational Angular Momentum]]&lt;br /&gt;
*[[Rotational Angular Momentum]]&lt;br /&gt;
*[[The Angular Momentum Principle]]&lt;br /&gt;
*[[Angular Momentum Compared to Linear Momentum]]&lt;br /&gt;
*[[Angular Impulse]]&lt;br /&gt;
*[[Predicting the Position of a Rotating System]]&lt;br /&gt;
*[[Angular Momentum of Multiparticle Systems]]&lt;br /&gt;
*[[The Moments of Inertia]]&lt;br /&gt;
*[[Moment of Inertia for a cylinder]]&lt;br /&gt;
*[[Right Hand Rule]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Week 14===&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Analyzing Motion with and without Torque====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Torque]]&lt;br /&gt;
*[[Torque 2]]&lt;br /&gt;
*[[Systems with Zero Torque]]&lt;br /&gt;
*[[Systems with Nonzero Torque]]&lt;br /&gt;
*[[Torque vs Work]]&lt;br /&gt;
*[[Gyroscopes]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Week 15===&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Introduction to Quantum Concepts====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Bohr Model]]&lt;br /&gt;
*[[Energy graphs and the Bohr model]]&lt;br /&gt;
*[[Quantized energy levels]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left; width:30%; padding:1%;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Physics 2==&lt;br /&gt;
===Week 1===&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====3D Vectors====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Vectors]]&lt;br /&gt;
*[[Right-Hand Rule]]&lt;br /&gt;
*[[Right Hand Rule]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Electric field====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Electric Field]]&lt;br /&gt;
*[[Electric Field and Electric Potential]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Electric force====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Electric Force]]&lt;br /&gt;
*[[Lorentz Force]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Electric field of a point particle====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Point Charge]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Superposition====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Superposition Principle]]&lt;br /&gt;
*[[Superposition principle]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Dipoles====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Electric Dipole]]&lt;br /&gt;
*[[Magnetic Dipole]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Week 2===&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Interactions of charged objects====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Electric Field]]&lt;br /&gt;
*[[Electric Potential]]&lt;br /&gt;
*[[Electric Force]]&lt;br /&gt;
*[[Lorentz Force]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Tape experiments====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Polarization]]&lt;br /&gt;
*[[Electric Polarization]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Polarization====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Polarization]]&lt;br /&gt;
*[[Electric Polarization]]&lt;br /&gt;
*[[Polarization of an Atom]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Week 3===&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Insulators====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Insulators]]&lt;br /&gt;
*[[Potential Difference in an Insulator]]&lt;br /&gt;
*[[Charged Conductor and Charged Insulator]]&lt;br /&gt;
*[[Charged conductor and charged insulator]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Conductors====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Conductivity]]&lt;br /&gt;
*[[Charge Transfer]]&lt;br /&gt;
*[[Resistivity]]&lt;br /&gt;
*[[Polarization of a conductor]]&lt;br /&gt;
*[[Charged Conductor and Charged Insulator]]&lt;br /&gt;
*[[Charged conductor and charged insulator]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Charging and discharging====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Charge Transfer]]&lt;br /&gt;
*[[Electrostatic Discharge]]&lt;br /&gt;
*[[Charged Conductor and Charged Insulator]]&lt;br /&gt;
*[[Charged conductor and charged insulator]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Week 4===&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Field of a charged rod====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Charged Rod]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Field of a charged ring/disk/capacitor====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Charged Ring]]&lt;br /&gt;
*[[Charged Disk]]&lt;br /&gt;
*[[Charged Capacitor]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Field of a charged sphere====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Charged Spherical Shell]]&lt;br /&gt;
*[[Field of a Charged Ball]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Week 5===&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Potential energy====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Potential Energy - Claimed by Janki Patel]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Electric potential====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Electric Potential]]&lt;br /&gt;
*[[Path Independence of Electric Potential]]&lt;br /&gt;
*[[Potential Difference Path Independence, claimed by Aditya Mohile]] &lt;br /&gt;
*[[Potential Difference in a Uniform Field]]&lt;br /&gt;
*[[Potential Difference of Point Charge in a Non-Uniform Field]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Sign of a potential difference====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Sign of a Potential Difference]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Potential at a single location====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Electric Potential]]&lt;br /&gt;
*[[Potential Difference at One Location]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Path independence and round trip potential====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Path Independence of Electric Potential]]&lt;br /&gt;
*[[Potential Difference Path Independence, claimed by Aditya Mohile]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Week 6===&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Electric field and potential in an insulator====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Potential Difference in an Insulator]]&lt;br /&gt;
*[[Electric Field in an Insulator]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Moving charges in a magnetic field====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Magnetic Field]]&lt;br /&gt;
*[[Magnetic Force]]&lt;br /&gt;
*[[Lorentz Force]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Biot-Savart Law====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Biot-Savart Law]]&lt;br /&gt;
*[[Biot-Savart Law for Currents]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Moving charges, electron current, and conventional current====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Moving Point Charge]]&lt;br /&gt;
*[[Current]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Week 7===&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Magnetic field of a wire====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Magnetic Field of a Long Straight Wire]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Magnetic field of a current-carrying loop====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Magnetic Field of a Loop]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Magnetic field of a Charged Disk====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Magnetic Field of a Disk]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Magnetic dipoles====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Magnetic Dipole Moment]]&lt;br /&gt;
*[[Bar Magnet]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Atomic structure of magnets====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Atomic Structure of Magnets]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Week 8===&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Steady state current====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Steady State]]&lt;br /&gt;
*[[Non Steady State]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Node rule====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Node Rule]]&lt;br /&gt;
**In an electric circuit in series, electrons flow from the negative end of a power source, creating a constant current. This current remains consistent at each point in the circuit in series. Sometimes, a circuit is not simply one constant path and may include parts that are in parallel, where the current must travel down two paths such as this:&lt;br /&gt;
**[[File:noderule.jpg]] &lt;br /&gt;
**In this case, when the current enters a portion of the circuit where the items are in parallel, the total amount of current in must equal the total amount of current out. Therefore, the currents in each branch of the parallel portion must sum up to the amount of current at any other point in series in the circuit. &lt;br /&gt;
**For the previous image, the node rules can be written as I_total = I_1 + I_2 and I_total = I_3 + I_4. It is also true that I_1 + I_2 = I_3 + I_4. &lt;br /&gt;
**However, each of these currents are different because each point has a different resistance. The current is different for each because it is equal to V/R, and in a parallel circuit, the voltage drop across each point is equal. &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Electric fields and energy in circuits====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Series circuit]]&lt;br /&gt;
*[[Node Rule]]&lt;br /&gt;
*[[Loop Rule]]&lt;br /&gt;
*[[Electric Potential Difference]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Macroscopic analysis of circuits====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Series Circuits]]&lt;br /&gt;
*[[Parallel Circuits]]&lt;br /&gt;
*[[Parallel Circuits vs. Series Circuits*]]&lt;br /&gt;
*[[Loop Rule]]&lt;br /&gt;
*[[Node Rule]]&lt;br /&gt;
*[[Fundamentals of Resistance]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Week 9===&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Electric field and potential in circuits with capacitors====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Charging and Discharging a Capacitor]]&lt;br /&gt;
*[[RC Circuit]] &lt;br /&gt;
*[[R Circuit]]&lt;br /&gt;
*[[AC and DC]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Magnetic forces on charges and currents====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Magnetic Force]]&lt;br /&gt;
*[[Lorentz Force]]&lt;br /&gt;
*[[Applying Magnetic Force to Currents]]&lt;br /&gt;
*[[Magnetic Force in a Moving Reference Frame]]&lt;br /&gt;
*[[Right-Hand Rule]]&lt;br /&gt;
*[[Analysis of Railgun vs Coil gun technologies]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Electric and magnetic forces====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Electric Force]]&lt;br /&gt;
*[[Magnetic Force]]&lt;br /&gt;
*[[Lorentz Force]]&lt;br /&gt;
*[[VPython Modelling of Electric and Magnetic Forces]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Velocity selector====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Lorentz Force]]&lt;br /&gt;
*[[Combining Electric and Magnetic Forces]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Week 10===&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====The Hall effect====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Hall Effect]]&lt;br /&gt;
*[[Right-Hand Rule]]&lt;br /&gt;
*[[Motional Emf]]&lt;br /&gt;
*[[Magnetic Force]]&lt;br /&gt;
*[[Magnetic Torque]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Motional EMF====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Motional Emf]]&lt;br /&gt;
*[[Motional Emf using Faraday&#039;s Law]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Magnetic force====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Magnetic Force]]&lt;br /&gt;
*[[Lorentz Force]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Magnetic torque====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Magnetic Torque]]&lt;br /&gt;
*[[Right-Hand Rule]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Week 12===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Gauss&#039;s Law====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Gauss&#039;s Flux Theorem]]&lt;br /&gt;
*[[Gauss&#039;s Law]]&lt;br /&gt;
*[[Magnetic Flux]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Ampere&#039;s Law====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Ampere&#039;s Law]]&lt;br /&gt;
*[[Ampere-Maxwell Law]]&lt;br /&gt;
*[[Magnetic Field of Coaxial Cable Using Ampere&#039;s Law]]&lt;br /&gt;
*[[Magnetic Field of a Long Thick Wire Using Ampere&#039;s Law]]&lt;br /&gt;
*[[Magnetic Field of a Toroid Using Ampere&#039;s Law]]&lt;br /&gt;
*[[Magnetic Field of a Solenoid Using Ampere&#039;s Law]]&lt;br /&gt;
*[[The Differential Form of Ampere&#039;s Law]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Week 13===&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Semiconductors====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Semiconductor Devices]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Faraday&#039;s Law====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Faraday&#039;s Law]]&lt;br /&gt;
*[[Motional Emf using Faraday&#039;s Law]]&lt;br /&gt;
*[[Lenz&#039;s Law]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Maxwell&#039;s equations====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Gauss&#039;s Law]]&lt;br /&gt;
*[[Magnetic Flux]]&lt;br /&gt;
*[[Ampere&#039;s Law]]&lt;br /&gt;
*[[Faraday&#039;s Law]]&lt;br /&gt;
*[[Maxwell&#039;s Electromagnetic Theory]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Week 14===&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Circuits revisited====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Inductors====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Inductors]]&lt;br /&gt;
*[[Current in an LC Circuit]]&lt;br /&gt;
*[[Current in an RL Circuit]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Week 15===&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
==== Electromagnetic Radiation ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Electromagnetic Radiation]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Sparks in the air====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Sparks in Air]]&lt;br /&gt;
*[[Spark Plugs]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Superconductors====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Superconducters]]&lt;br /&gt;
*[[Superconductors]]&lt;br /&gt;
*[[Meissner effect]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left; width:30%; padding:1%;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Physics 3==&lt;br /&gt;
&lt;br /&gt;
===Week 1===&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Classical Physics====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Week 2===&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Special Relativity====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Frame of Reference]]&lt;br /&gt;
*[[Einstein&#039;s Theory of Special Relativity]]&lt;br /&gt;
*[[Time Dilation]]&lt;br /&gt;
*[[Einstein&#039;s Theory of General Relativity]]&lt;br /&gt;
*[[Albert A. Micheleson &amp;amp; Edward W. Morley]]&lt;br /&gt;
*[[Magnetic Force in a Moving Reference Frame]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Week 3===&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Photons====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Spontaneous Photon Emission]]&lt;br /&gt;
*[[Light Scattering: Why is the Sky Blue]]&lt;br /&gt;
*[[Lasers]]&lt;br /&gt;
*[[Electronic Energy Levels and Photons]]&lt;br /&gt;
*[[Quantum Properties of Light]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Week 4===&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Matter Waves====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Wave-Particle Duality]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Week 5===&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Wave Mechanics====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Standing Waves]]&lt;br /&gt;
*[[Wavelength]]&lt;br /&gt;
*[[Wavelength and Frequency]]&lt;br /&gt;
*[[Mechanical Waves]]&lt;br /&gt;
*[[Transverse and Longitudinal Waves]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Week 6===&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Rutherford-Bohr Model====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Rutherford Experiment and Atomic Collisions]]&lt;br /&gt;
*[[Bohr Model]]&lt;br /&gt;
*[[Quantized energy levels]]&lt;br /&gt;
*[[Energy graphs and the Bohr model]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Week 7===&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====The Hydrogen Atom====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Quantum Theory]]&lt;br /&gt;
*[[Atomic Theory]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Week 8===&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Many-Electron Atoms====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Quantum Theory]]&lt;br /&gt;
*[[Atomic Theory]]&lt;br /&gt;
*[[Pauli exclusion principle]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Week 9===&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Molecules====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Week 10===&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Statistical Physics====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Week 11===&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Condensed Matter Physics====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Week 12===&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====The Nucleus====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Nucleus]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Week 13===&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Nuclear Physics====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Nuclear Fission]]&lt;br /&gt;
*[[Nuclear Energy from Fission and Fusion]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Week 14===&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Particle Physics====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Elementary Particles and Particle Physics Theory]]&lt;br /&gt;
*[[String Theory]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Scmcn22</name></author>
	</entry>
	<entry>
		<id>http://www.physicsbook.gatech.edu/index.php?title=Main_Page&amp;diff=27992</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://www.physicsbook.gatech.edu/index.php?title=Main_Page&amp;diff=27992"/>
		<updated>2017-04-09T17:38:09Z</updated>

		<summary type="html">&lt;p&gt;Scmcn22: /* Week 1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
= &#039;&#039;&#039;Georgia Tech Student Wiki for Introductory Physics.&#039;&#039;&#039; =&lt;br /&gt;
&lt;br /&gt;
This resource was created so that students can contribute and curate content to help those with limited or no access to a textbook.  When reading this website, please correct any errors you may come across. If you read something that isn&#039;t clear, please consider revising it for future students!&lt;br /&gt;
&lt;br /&gt;
Looking to make a contribution?&lt;br /&gt;
#Pick one of the topics from intro physics listed below&lt;br /&gt;
#Add content to that topic or improve the quality of what is already there.&lt;br /&gt;
#Need to make a new topic? Edit this page and add it to the list under the appropriate category.  Then copy and paste the default [[Template]] into your new page and start editing.&lt;br /&gt;
&lt;br /&gt;
Please remember that this is not a textbook and you are not limited to expressing your ideas with only text and equations.  Whenever possible embed: pictures, videos, diagrams, simulations, computational models (e.g. Glowscript), and whatever content you think makes learning physics easier for other students.&lt;br /&gt;
&lt;br /&gt;
== Source Material ==&lt;br /&gt;
All of the content added to this resource must be in the public domain or similar free resource.  If you are unsure about a source, contact the original author for permission. That said, there is a surprisingly large amount of introductory physics content scattered across the web.  Here is an incomplete list of intro physics resources (please update as needed).&lt;br /&gt;
* A physics resource written by experts for an expert audience [https://en.wikipedia.org/wiki/Portal:Physics Physics Portal]&lt;br /&gt;
* A wiki written for students by a physics expert [http://p3server.pa.msu.edu/coursewiki/doku.php?id=183_notes MSU Physics Wiki]&lt;br /&gt;
* A wiki book on modern physics [https://en.wikibooks.org/wiki/Modern_Physics Modern Physics Wiki]&lt;br /&gt;
* The MIT open courseware for intro physics [http://ocw.mit.edu/resources/res-8-002-a-wikitextbook-for-introductory-mechanics-fall-2009/index.htm MITOCW Wiki]&lt;br /&gt;
* An online concept map of intro physics [http://hyperphysics.phy-astr.gsu.edu/hbase/hph.html HyperPhysics]&lt;br /&gt;
* Interactive physics simulations [https://phet.colorado.edu/en/simulations/category/physics PhET]&lt;br /&gt;
* OpenStax intro physics textbooks: [https://openstax.org/details/books/university-physics-volume-1  Vol1], [https://openstax.org/details/books/university-physics-volume-2  Vol2], [https://openstax.org/details/books/university-physics-volume-3  Vol3]&lt;br /&gt;
* The Open Source Physics project is a collection of online physics resources [http://www.opensourcephysics.org/ OSP]&lt;br /&gt;
* A resource guide compiled by the [http://www.aapt.org/ AAPT] for educators [http://www.compadre.org/ ComPADRE]&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
* Commonly used wiki commands [https://en.wikipedia.org/wiki/Help:Cheatsheet Wiki Cheatsheet]&lt;br /&gt;
* A guide to representing equations in math mode [https://en.wikipedia.org/wiki/Help:Displaying_a_formula Wiki Math Mode]&lt;br /&gt;
* A page to keep track of all the physics [[Constants]]&lt;br /&gt;
* A page for review of [[Vectors]] and vector operations&lt;br /&gt;
* A listing of [[Notable Scientist]] with links to their individual pages &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left; width:30%; padding:1%;&amp;quot;&amp;gt;&lt;br /&gt;
==Physics 1==&lt;br /&gt;
===Week 1===&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Help with VPython====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Python Syntax]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Vectors and Units====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Vectors]]&lt;br /&gt;
*[[SI Units]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====VPython Basics====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[VPython]]&lt;br /&gt;
*[[VPython basics]]&lt;br /&gt;
*[[VPython Common Errors and Troubleshooting]]&lt;br /&gt;
*[[VPython Functions]]&lt;br /&gt;
*[[VPython Lists]]&lt;br /&gt;
*[[VPython Loops]]&lt;br /&gt;
*[[VPython Multithreading]]&lt;br /&gt;
*[[VPython Animation]]&lt;br /&gt;
*[[VPython Objects]]&lt;br /&gt;
*[[VPython 3D Objects]]&lt;br /&gt;
*[[VPython Reference]]&lt;br /&gt;
*[[VPython MapReduceFilter]]&lt;br /&gt;
*[[VPython GUIs]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Vectors and Units====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Vectors]]&lt;br /&gt;
*[[SI Units]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Interactions====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Types of Interactions and How to Detect Them]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Velocity and Momentum====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Newton&#039;s First Law of Motion]]&lt;br /&gt;
*[[Velocity]]&lt;br /&gt;
*[[Mass]]&lt;br /&gt;
*[[Speed and Velocity]]&lt;br /&gt;
*[[Relative Velocity]]&lt;br /&gt;
*[[Derivation of Average Velocity]]&lt;br /&gt;
*[[2-Dimensional Motion]]&lt;br /&gt;
*[[3-Dimensional Position and Motion]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Week 2===&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Momentum and the Momentum Principle====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Momentum Principle]]&lt;br /&gt;
*[[Inertia]]&lt;br /&gt;
*[[Net Force]]&lt;br /&gt;
*[[Derivation of the Momentum Principle]]&lt;br /&gt;
*[[Impulse Momentum]]&lt;br /&gt;
*[[Acceleration]]&lt;br /&gt;
*[[Momentum with respect to external Forces]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Iterative Prediction with a Constant Force====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Newton’s Second Law of Motion]]&lt;br /&gt;
*[[Iterative Prediction]]&lt;br /&gt;
*[[Kinematics]]&lt;br /&gt;
*[[Newton’s Laws and Linear Momentum]]&lt;br /&gt;
*[[Projectile Motion]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Week 3===&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Analytic Prediction with a Constant Force====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Analytical Prediction]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Iterative Prediction with a Varying Force====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Predicting Change in multiple dimensions]]&lt;br /&gt;
*[[Spring Force]]&lt;br /&gt;
*[[Hooke&#039;s Law]]&lt;br /&gt;
*[[Simple Harmonic Motion]]&lt;br /&gt;
*[[Iterative Prediction of Spring-Mass System]]&lt;br /&gt;
*[[Terminal Speed]]&lt;br /&gt;
*[[Determinism]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Week 4===&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Fundamental Interactions====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
==Main Idea==&lt;br /&gt;
&lt;br /&gt;
*[[Gravitational Force]]&lt;br /&gt;
&lt;br /&gt;
*[[An Application of Gravitational Potential]]&lt;br /&gt;
*[[Electric Force]]&lt;br /&gt;
*[[Reciprocity]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Week 5===&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Conservation of Momentum====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Conservation of Momentum]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Properties of Matter====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Kinds of Matter]]&lt;br /&gt;
*[[Ball and Spring Model of Matter]]&lt;br /&gt;
*[[Density]]&lt;br /&gt;
*[[Length and Stiffness of an Interatomic Bond]]&lt;br /&gt;
*[[Young&#039;s Modulus]]&lt;br /&gt;
*[[Speed of Sound in Solids]]&lt;br /&gt;
*[[Malleability]]&lt;br /&gt;
*[[Ductility]]&lt;br /&gt;
*[[Weight]]&lt;br /&gt;
*[[Hardness]]&lt;br /&gt;
*[[Boiling Point]]&lt;br /&gt;
*[[Melting Point]]&lt;br /&gt;
*[[Change of State]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Week 6===&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Identifying Forces====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Free Body Diagram]]&lt;br /&gt;
*[[Inclined Plane]]&lt;br /&gt;
*[[Compression or Normal Force]]&lt;br /&gt;
*[[Tension]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Curving Motion====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Curving Motion]]&lt;br /&gt;
*[[Centripetal Force and Curving Motion]]&lt;br /&gt;
*[[Perpetual Freefall (Orbit)]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Week 7===&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Energy Principle====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[The Energy Principle]]&lt;br /&gt;
*[[Conservation of Energy]]&lt;br /&gt;
*[[Kinetic Energy]]&lt;br /&gt;
*[[Work]]&lt;br /&gt;
*[[Power (Mechanical)]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Week 8===&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Work by Non-Constant Forces====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Work Done By A Nonconstant Force]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Potential Energy====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Potential Energy]]&lt;br /&gt;
*[[Potential Energy of Macroscopic Springs]]&lt;br /&gt;
*[[Spring Potential Energy]]&lt;br /&gt;
*[[Ball and Spring Model]]&lt;br /&gt;
*[[Gravitational Potential Energy]]&lt;br /&gt;
*[[Energy Graphs]]&lt;br /&gt;
*[[Escape Velocity]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Week 9===&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Multiparticle Systems====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Center of Mass]]&lt;br /&gt;
*[[Multi-particle analysis of Momentum]]&lt;br /&gt;
*[[Momentum with respect to external Forces]]&lt;br /&gt;
*[[Potential Energy of a Multiparticle System]]&lt;br /&gt;
*[[Work and Energy for an Extended System]]&lt;br /&gt;
*[[Internal Energy]]&lt;br /&gt;
**[[Potential Energy of a Pair of Neutral Atoms]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Week 10===&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Choice of System====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[System &amp;amp; Surroundings]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Thermal Energy, Dissipation and Transfer of Energy====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Thermal Energy]]&lt;br /&gt;
*[[Specific Heat]]&lt;br /&gt;
*[[Heat Capacity]]&lt;br /&gt;
*[[Specific Heat Capacity]]&lt;br /&gt;
*[[First Law of Thermodynamics]]&lt;br /&gt;
*[[Second Law of Thermodynamics and Entropy]]&lt;br /&gt;
*[[Temperature]]&lt;br /&gt;
*[[Predicting Change]]&lt;br /&gt;
*[[Energy Transfer due to a Temperature Difference]]&lt;br /&gt;
*[[Transformation of Energy]]&lt;br /&gt;
*[[The Maxwell-Boltzmann Distribution]]&lt;br /&gt;
*[[Air Resistance]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Rotational and Vibrational Energy====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Translational, Rotational and Vibrational Energy]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Week 11===&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Different Models of a System====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Point Particle Systems]]&lt;br /&gt;
*[[Real Systems]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Models of Friction====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Friction]]&lt;br /&gt;
*[[Static Friction]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Week 12===&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Collisions====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Newton&#039;s Third Law of Motion]]&lt;br /&gt;
*[[Collisions]]&lt;br /&gt;
*[[Elastic Collisions]]&lt;br /&gt;
*[[Inelastic Collisions]]&lt;br /&gt;
*[[Maximally Inelastic Collision]]&lt;br /&gt;
*[[Head-on Collision of Equal Masses]]&lt;br /&gt;
*[[Head-on Collision of Unequal Masses]]&lt;br /&gt;
*[[Scattering: Collisions in 2D and 3D]]&lt;br /&gt;
*[[Rutherford Experiment and Atomic Collisions]]&lt;br /&gt;
*[[Coefficient of Restitution]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Week 13===&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Rotations====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Rotation]]&lt;br /&gt;
*[[Angular Velocity]]&lt;br /&gt;
*[[Eulerian Angles]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Angular Momentum====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Total Angular Momentum]]&lt;br /&gt;
*[[Translational Angular Momentum]]&lt;br /&gt;
*[[Rotational Angular Momentum]]&lt;br /&gt;
*[[The Angular Momentum Principle]]&lt;br /&gt;
*[[Angular Momentum Compared to Linear Momentum]]&lt;br /&gt;
*[[Angular Impulse]]&lt;br /&gt;
*[[Predicting the Position of a Rotating System]]&lt;br /&gt;
*[[Angular Momentum of Multiparticle Systems]]&lt;br /&gt;
*[[The Moments of Inertia]]&lt;br /&gt;
*[[Moment of Inertia for a cylinder]]&lt;br /&gt;
*[[Right Hand Rule]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Week 14===&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Analyzing Motion with and without Torque====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Torque]]&lt;br /&gt;
*[[Torque 2]]&lt;br /&gt;
*[[Systems with Zero Torque]]&lt;br /&gt;
*[[Systems with Nonzero Torque]]&lt;br /&gt;
*[[Torque vs Work]]&lt;br /&gt;
*[[Gyroscopes]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Week 15===&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Introduction to Quantum Concepts====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Bohr Model]]&lt;br /&gt;
*[[Energy graphs and the Bohr model]]&lt;br /&gt;
*[[Quantized energy levels]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left; width:30%; padding:1%;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Physics 2==&lt;br /&gt;
===Week 1===&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====3D Vectors====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Vectors]]&lt;br /&gt;
*[[Right-Hand Rule]]&lt;br /&gt;
*[[Right Hand Rule]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Electric field====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Electric Field]]&lt;br /&gt;
*[[Electric Field and Electric Potential]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Electric force====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Electric Force]]&lt;br /&gt;
*[[Lorentz Force]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Electric field of a point particle====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Point Charge]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Superposition====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Superposition Principle]]&lt;br /&gt;
*[[Superposition principle]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Dipoles====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Electric Dipole]]&lt;br /&gt;
*[[Magnetic Dipole]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Week 2===&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Interactions of charged objects====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Electric Field]]&lt;br /&gt;
*[[Electric Potential]]&lt;br /&gt;
*[[Electric Force]]&lt;br /&gt;
*[[Lorentz Force]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Tape experiments====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Polarization]]&lt;br /&gt;
*[[Electric Polarization]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Polarization====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Polarization]]&lt;br /&gt;
*[[Electric Polarization]]&lt;br /&gt;
*[[Polarization of an Atom]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Week 3===&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Insulators====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Insulators]]&lt;br /&gt;
*[[Potential Difference in an Insulator]]&lt;br /&gt;
*[[Charged Conductor and Charged Insulator]]&lt;br /&gt;
*[[Charged conductor and charged insulator]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Conductors====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Conductivity]]&lt;br /&gt;
*[[Charge Transfer]]&lt;br /&gt;
*[[Resistivity]]&lt;br /&gt;
*[[Polarization of a conductor]]&lt;br /&gt;
*[[Charged Conductor and Charged Insulator]]&lt;br /&gt;
*[[Charged conductor and charged insulator]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Charging and discharging====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Charge Transfer]]&lt;br /&gt;
*[[Electrostatic Discharge]]&lt;br /&gt;
*[[Charged Conductor and Charged Insulator]]&lt;br /&gt;
*[[Charged conductor and charged insulator]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Week 4===&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Field of a charged rod====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Charged Rod]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Field of a charged ring/disk/capacitor====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Charged Ring]]&lt;br /&gt;
*[[Charged Disk]]&lt;br /&gt;
*[[Charged Capacitor]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Field of a charged sphere====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Charged Spherical Shell]]&lt;br /&gt;
*[[Field of a Charged Ball]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Week 5===&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Potential energy====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Potential Energy - Claimed by Janki Patel]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Electric potential====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Electric Potential]]&lt;br /&gt;
*[[Path Independence of Electric Potential]]&lt;br /&gt;
*[[Potential Difference Path Independence, claimed by Aditya Mohile]] &lt;br /&gt;
*[[Potential Difference in a Uniform Field]]&lt;br /&gt;
*[[Potential Difference of Point Charge in a Non-Uniform Field]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Sign of a potential difference====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Sign of a Potential Difference]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Potential at a single location====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Electric Potential]]&lt;br /&gt;
*[[Potential Difference at One Location]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Path independence and round trip potential====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Path Independence of Electric Potential]]&lt;br /&gt;
*[[Potential Difference Path Independence, claimed by Aditya Mohile]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Week 6===&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Electric field and potential in an insulator====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Potential Difference in an Insulator]]&lt;br /&gt;
*[[Electric Field in an Insulator]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Moving charges in a magnetic field====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Magnetic Field]]&lt;br /&gt;
*[[Magnetic Force]]&lt;br /&gt;
*[[Lorentz Force]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Biot-Savart Law====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Biot-Savart Law]]&lt;br /&gt;
*[[Biot-Savart Law for Currents]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Moving charges, electron current, and conventional current====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Moving Point Charge]]&lt;br /&gt;
*[[Current]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Week 7===&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Magnetic field of a wire====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Magnetic Field of a Long Straight Wire]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Magnetic field of a current-carrying loop====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Magnetic Field of a Loop]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Magnetic field of a Charged Disk====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Magnetic Field of a Disk]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Magnetic dipoles====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Magnetic Dipole Moment]]&lt;br /&gt;
*[[Bar Magnet]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Atomic structure of magnets====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Atomic Structure of Magnets]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Week 8===&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Steady state current====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Steady State]]&lt;br /&gt;
*[[Non Steady State]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Node rule====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Node Rule]]&lt;br /&gt;
**In an electric circuit in series, electrons flow from the negative end of a power source, creating a constant current. This current remains consistent at each point in the circuit in series. Sometimes, a circuit is not simply one constant path and may include parts that are in parallel, where the current must travel down two paths such as this:&lt;br /&gt;
**[[File:noderule.jpg]] &lt;br /&gt;
**In this case, when the current enters a portion of the circuit where the items are in parallel, the total amount of current in must equal the total amount of current out. Therefore, the currents in each branch of the parallel portion must sum up to the amount of current at any other point in series in the circuit. &lt;br /&gt;
**For the previous image, the node rules can be written as I_total = I_1 + I_2 and I_total = I_3 + I_4. It is also true that I_1 + I_2 = I_3 + I_4. &lt;br /&gt;
**However, each of these currents are different because each point has a different resistance. The current is different for each because it is equal to V/R, and in a parallel circuit, the voltage drop across each point is equal. &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Electric fields and energy in circuits====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Series circuit]]&lt;br /&gt;
*[[Node Rule]]&lt;br /&gt;
*[[Loop Rule]]&lt;br /&gt;
*[[Electric Potential Difference]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Macroscopic analysis of circuits====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Series Circuits]]&lt;br /&gt;
*[[Parallel Circuits]]&lt;br /&gt;
*[[Parallel Circuits vs. Series Circuits*]]&lt;br /&gt;
*[[Loop Rule]]&lt;br /&gt;
*[[Node Rule]]&lt;br /&gt;
*[[Fundamentals of Resistance]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Week 9===&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Electric field and potential in circuits with capacitors====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Charging and Discharging a Capacitor]]&lt;br /&gt;
*[[RC Circuit]] &lt;br /&gt;
*[[R Circuit]]&lt;br /&gt;
*[[AC and DC]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Magnetic forces on charges and currents====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Magnetic Force]]&lt;br /&gt;
*[[Lorentz Force]]&lt;br /&gt;
*[[Applying Magnetic Force to Currents]]&lt;br /&gt;
*[[Magnetic Force in a Moving Reference Frame]]&lt;br /&gt;
*[[Right-Hand Rule]]&lt;br /&gt;
*[[Analysis of Railgun vs Coil gun technologies]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Electric and magnetic forces====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Electric Force]]&lt;br /&gt;
*[[Magnetic Force]]&lt;br /&gt;
*[[Lorentz Force]]&lt;br /&gt;
*[[VPython Modelling of Electric and Magnetic Forces]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Velocity selector====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Lorentz Force]]&lt;br /&gt;
*[[Combining Electric and Magnetic Forces]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Week 10===&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====The Hall effect====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Hall Effect]]&lt;br /&gt;
*[[Right-Hand Rule]]&lt;br /&gt;
*[[Motional Emf]]&lt;br /&gt;
*[[Magnetic Force]]&lt;br /&gt;
*[[Magnetic Torque]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Motional EMF====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Motional Emf]]&lt;br /&gt;
*[[Motional Emf using Faraday&#039;s Law]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Magnetic force====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Magnetic Force]]&lt;br /&gt;
*[[Lorentz Force]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Magnetic torque====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Magnetic Torque]]&lt;br /&gt;
*[[Right-Hand Rule]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Week 12===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Gauss&#039;s Law====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Gauss&#039;s Flux Theorem]]&lt;br /&gt;
*[[Gauss&#039;s Law]]&lt;br /&gt;
*[[Magnetic Flux]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Ampere&#039;s Law====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Ampere&#039;s Law]]&lt;br /&gt;
*[[Ampere-Maxwell Law]]&lt;br /&gt;
*[[Magnetic Field of Coaxial Cable Using Ampere&#039;s Law]]&lt;br /&gt;
*[[Magnetic Field of a Long Thick Wire Using Ampere&#039;s Law]]&lt;br /&gt;
*[[Magnetic Field of a Toroid Using Ampere&#039;s Law]]&lt;br /&gt;
*[[Magnetic Field of a Solenoid Using Ampere&#039;s Law]]&lt;br /&gt;
*[[The Differential Form of Ampere&#039;s Law]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Week 13===&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Semiconductors====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Semiconductor Devices]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Faraday&#039;s Law====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Faraday&#039;s Law]]&lt;br /&gt;
*[[Motional Emf using Faraday&#039;s Law]]&lt;br /&gt;
*[[Lenz&#039;s Law]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Maxwell&#039;s equations====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Gauss&#039;s Law]]&lt;br /&gt;
*[[Magnetic Flux]]&lt;br /&gt;
*[[Ampere&#039;s Law]]&lt;br /&gt;
*[[Faraday&#039;s Law]]&lt;br /&gt;
*[[Maxwell&#039;s Electromagnetic Theory]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Week 14===&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Circuits revisited====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Inductors====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Inductors]]&lt;br /&gt;
*[[Current in an LC Circuit]]&lt;br /&gt;
*[[Current in an RL Circuit]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Week 15===&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
==== Electromagnetic Radiation ====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Electromagnetic Radiation]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Sparks in the air====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Sparks in Air]]&lt;br /&gt;
*[[Spark Plugs]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Superconductors====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Superconducters]]&lt;br /&gt;
*[[Superconductors]]&lt;br /&gt;
*[[Meissner effect]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left; width:30%; padding:1%;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Physics 3==&lt;br /&gt;
&lt;br /&gt;
===Week 1===&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Classical Physics====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Week 2===&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Special Relativity====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Frame of Reference]]&lt;br /&gt;
*[[Einstein&#039;s Theory of Special Relativity]]&lt;br /&gt;
*[[Time Dilation]]&lt;br /&gt;
*[[Einstein&#039;s Theory of General Relativity]]&lt;br /&gt;
*[[Albert A. Micheleson &amp;amp; Edward W. Morley]]&lt;br /&gt;
*[[Magnetic Force in a Moving Reference Frame]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Week 3===&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Photons====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Spontaneous Photon Emission]]&lt;br /&gt;
*[[Light Scattering: Why is the Sky Blue]]&lt;br /&gt;
*[[Lasers]]&lt;br /&gt;
*[[Electronic Energy Levels and Photons]]&lt;br /&gt;
*[[Quantum Properties of Light]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Week 4===&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Matter Waves====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Wave-Particle Duality]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Week 5===&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Wave Mechanics====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Standing Waves]]&lt;br /&gt;
*[[Wavelength]]&lt;br /&gt;
*[[Wavelength and Frequency]]&lt;br /&gt;
*[[Mechanical Waves]]&lt;br /&gt;
*[[Transverse and Longitudinal Waves]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Week 6===&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Rutherford-Bohr Model====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Rutherford Experiment and Atomic Collisions]]&lt;br /&gt;
*[[Bohr Model]]&lt;br /&gt;
*[[Quantized energy levels]]&lt;br /&gt;
*[[Energy graphs and the Bohr model]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Week 7===&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====The Hydrogen Atom====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Quantum Theory]]&lt;br /&gt;
*[[Atomic Theory]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Week 8===&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Many-Electron Atoms====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Quantum Theory]]&lt;br /&gt;
*[[Atomic Theory]]&lt;br /&gt;
*[[Pauli exclusion principle]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Week 9===&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Molecules====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Week 10===&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Statistical Physics====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Week 11===&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Condensed Matter Physics====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Week 12===&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====The Nucleus====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Nucleus]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Week 13===&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Nuclear Physics====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Nuclear Fission]]&lt;br /&gt;
*[[Nuclear Energy from Fission and Fusion]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Week 14===&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
====Particle Physics====&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Elementary Particles and Particle Physics Theory]]&lt;br /&gt;
*[[String Theory]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Scmcn22</name></author>
	</entry>
	<entry>
		<id>http://www.physicsbook.gatech.edu/index.php?title=VPython&amp;diff=27616</id>
		<title>VPython</title>
		<link rel="alternate" type="text/html" href="http://www.physicsbook.gatech.edu/index.php?title=VPython&amp;diff=27616"/>
		<updated>2017-04-07T22:31:26Z</updated>

		<summary type="html">&lt;p&gt;Scmcn22: /* Useful built-in functions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Claimed by Scott McNeill&lt;br /&gt;
&lt;br /&gt;
VPython is a Python graphics module used for modeling objects in 3-dimensional space.  In the field of physics, this is especially useful for calculating and modeling complex relationships between objects and their properties.&lt;br /&gt;
&lt;br /&gt;
[[File:VPythonMagneticForceAnimated.gif|thumb|VPython modeling the magnetic force on a moving particle]]&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
&lt;br /&gt;
VPython is compatible with Windows, OSX, and Linux.  While there is an older VPython version available that supports Python 3, the Georgia Tech physics courses use Python 2 syntax so it is recommended to install the latest version of VPython as outlined below.&lt;br /&gt;
&lt;br /&gt;
===Windows===&lt;br /&gt;
[[File:VPythonWindows.png|thumb|VPython running in Windows 7]]&lt;br /&gt;
&lt;br /&gt;
1. Install [http://python.org/ftp/python/2.7.9/python-2.7.9.amd64.msi Python-2.7].&lt;br /&gt;
&lt;br /&gt;
2. Download and install VPython from [http://sourceforge.net/projects/vpythonwx/files/6.11-release/VPython-Win-64-Py2.7-6.11.exe/download Sourceforge].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To troubleshoot any installation issues, look at the extensive [http://vpython.org/contents/download_windows.html VPython Windows installation guide].&lt;br /&gt;
&lt;br /&gt;
===OSX===&lt;br /&gt;
[[File:VPythonOSX.png|thumb|VPython running in OSX 10.10]]&lt;br /&gt;
&lt;br /&gt;
1. Install [https://www.python.org/ftp/python/2.7.9/python-2.7.9-macosx10.6.pkg Python-2.7].  This is required as the version of Python that Apple provides is not compatible.&lt;br /&gt;
&lt;br /&gt;
2. Download and install the VPython package from [http://sourceforge.net/projects/vpythonwx/files/6.11-release/VPython-Mac-Py2.7-6.11.dmg/download Sourceforge].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To troubleshoot installation issues, see the extensive [http://vpython.org/contents/download_mac.html VPython Mac installation guide].&lt;br /&gt;
&lt;br /&gt;
===GNU/Linux===&lt;br /&gt;
[[File:VPythonUbuntu.png|thumb|VPython running in Ubuntu 15.04+]]&lt;br /&gt;
&lt;br /&gt;
Some Linux distributions include VPython in their repositories.  For example, to install VPython in Ubuntu 15.04:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get install python-visual&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If your Linux distribution&#039;s repository does not have the latest version of VPython, you can run the Windows version using [https://www.winehq.org/ Wine].  The [http://vpython.org/contents/download_linux.html VPython Linux installation guide] contains detailed instructions.&lt;br /&gt;
&lt;br /&gt;
===Glowscript===&lt;br /&gt;
&lt;br /&gt;
Another useful method of using Vpython can be found at http://www.glowscript.org/. At this website, a user can make an account and have a script up and running within minutes on a web browser without having to deal with downloading any software or worrying about compatibility. Only downside is that it can be tricky to save the code for submitting to Webassign.&lt;br /&gt;
&lt;br /&gt;
==Getting started with VPython==&lt;br /&gt;
The easiest way to use VPython is with VIDLE.  VIDLE is a development environment and is the most useful for editing and running code.  To start, open the VIDLE application (it may be called something like VIDLE-Py2.7).  A blank file should open.  Type the following two lines in:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;from __future__ import division&lt;br /&gt;
&lt;br /&gt;
from visual import *&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first line tells Python to not use integer division, which would result in &amp;lt;code&amp;gt;1/3&amp;lt;/code&amp;gt; returning the floor &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; instead of &amp;lt;code&amp;gt;0.3333333333333333&amp;lt;/code&amp;gt;.  The second line tells Python to import everything from the visual (VPython) library for you to use.&lt;br /&gt;
&lt;br /&gt;
After these two lines, you can create objects, assign variables, do calculations, and much more.  You can also run VPython from the command line, although it may require additional setup so Python can locate the &amp;lt;code&amp;gt;visual&amp;lt;/code&amp;gt; module.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Creating VPython Objects==&lt;br /&gt;
When you create objects, it is often useful to assign them to variables so you can reference them later to either get or set values describing for example the position and size of the object.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sphere&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;particle = sphere(pos=(0,0,0), radius=4, color=color.blue)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This creates a blue sphere centered at the origin &amp;lt;0,0,0&amp;gt; with radius 4.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Arrow&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;arrowToOrigin = arrow(pos=(0,2,0), axis=(0,8,0), color=color.green)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This creates a green arrow pointing from &amp;lt;0,2,0&amp;gt; to &amp;lt;0,10,0&amp;gt;.  Note that &amp;lt;code&amp;gt;axis&amp;lt;/code&amp;gt; is always relative to the start of the arrow, not the origin &amp;lt;0,0,0&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cylinder&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;wire = cylinder(pos=(0,0,0), axis=(20,0,0), radius=1, color=color.yellow)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This creates a yellow cylinder starting at the origin &amp;lt;0,0,0&amp;gt; and extending to &amp;lt;20,0,0&amp;gt; with radius 1.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example&#039;&#039;&#039;&lt;br /&gt;
[[File:VPythonObjects.png|thumb|Result of example code]]&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
from __future__ import division&lt;br /&gt;
from visual import *&lt;br /&gt;
&lt;br /&gt;
particle = sphere(pos=(0,0,0), radius=4, color=color.blue)&lt;br /&gt;
arrowToOrigin = arrow(pos=(0,2,0), axis=(0,8,0), color=color.green)&lt;br /&gt;
wire = cylinder(pos=(0,0,0), axis=(20,0,0), radius=1, color=color.yellow)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Updating objects&#039;&#039;&#039;&lt;br /&gt;
If you assign an object to a variable (such as &amp;lt;code&amp;gt;particle&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;arrowToOrigin&amp;lt;/code&amp;gt; above) you can adjust its parameters such as its location.  For the above sphere, you can change its location to &amp;lt;-5,-5,0&amp;gt; with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;particle.pos=(-5,-5,0)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To change the axis of the above arrow to point to &amp;lt;-10,5,0&amp;gt;, use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;arrowToOrigin.axis=(-10,5,0)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To change the radius of the above cylinder to 3, use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;wire.radius=3&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example&#039;&#039;&#039;&lt;br /&gt;
[[File:VPythonObjectsChanged.png|thumb|Result of example code]]&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
from __future__ import division&lt;br /&gt;
from visual import *&lt;br /&gt;
&lt;br /&gt;
particle = sphere(pos=(0,0,0), radius=4, color=color.blue)&lt;br /&gt;
arrowToOrigin = arrow(pos=(0,2,0), axis=(0,8,0), color=color.green)&lt;br /&gt;
wire = cylinder(pos=(0,0,0), axis=(20,0,0), radius=1, color=color.yellow)&lt;br /&gt;
&lt;br /&gt;
particle.pos=(-5,-5,0)&lt;br /&gt;
arrowToOrigin.axis=(-10,5,0)&lt;br /&gt;
wire.radius=3&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Useful built-in functions==&lt;br /&gt;
&lt;br /&gt;
VPython includes various functions that can make your calculations much easier.  The following functions simplify mathematical operations on vectors and will come in handy very often.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cross-multiply two vectors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cross(vectorA, vectorB)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Magnitude of a vector&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;mag(vector)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Square of the Magnitude of a vector&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;mag2(vector)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Unit vector of a vector&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;norm(vector)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Square Root&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sqrt(value)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Absolute Value&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;abs(value)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==VPython Operators==&lt;br /&gt;
&lt;br /&gt;
===Mathematical Operators===&lt;br /&gt;
1) #  comment out a line&lt;br /&gt;
&lt;br /&gt;
2) + - * /   addition, subtraction, multiplication, division&lt;br /&gt;
&lt;br /&gt;
3) ** exponential&lt;br /&gt;
&lt;br /&gt;
4) % modulus or remainder&lt;br /&gt;
&lt;br /&gt;
===Logical Operators===&lt;br /&gt;
1) ==  outputs true if the compared values are the same&lt;br /&gt;
&lt;br /&gt;
2) != outputs true if the compared values are not the same&lt;br /&gt;
&lt;br /&gt;
3) &amp;gt; or &amp;lt; outputs true if the compared values are greater or less than the other&lt;br /&gt;
&lt;br /&gt;
4) &amp;gt;= or &amp;lt;= Same as above but outputs true if greater or less than or equal to the compared value&lt;br /&gt;
&lt;br /&gt;
==Connectedness==&lt;br /&gt;
&lt;br /&gt;
I am very interested in programming.  I have used Python for years, so translating Physics problems into VPython code is a great way to cement the fundamental ideas in my mind.&lt;br /&gt;
&lt;br /&gt;
VPython is a great tool to bridge the worlds of Computer Science and Physics.  Many of the calculations required to model a physical object would be tedious if done by hand.  Yet with often a few lines of code, this work can be reduced to almost nothing.&lt;br /&gt;
&lt;br /&gt;
NASA has published [http://gcmd.gsfc.nasa.gov/KeywordSearch/Metadata.do?Portal=GCMD&amp;amp;MetadataType=1&amp;amp;MetadataView=Full&amp;amp;KeywordPath=&amp;amp;EntryId=3-D_ES-Models VPython models].  However, VPython is still primarily used in an educational context.&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
&lt;br /&gt;
VPython was originally released in 2000 by David Scherer after he took an introductory physics class at Carnegie Mellon University.  At the time, the school used the cT programming language for 2D modeling, and David saw the need for something better.  Working with several people including professors Ruth Chabay and Bruce Sherwood, he developed a Python module called Visual.  Visual Python or VPython featured 3D modeling, as well as an easier-to-understand object-oriented syntax.  Beginning in 2002, the National Science Foundation had awarded $292,286.00 as of December 2015 for the further development of this tool.  VPython is released under an Open Source license, and development continues today.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
If you have never used Python, the [[VPython_basics| VPython Basics]] wiki page has information for getting started with Python programming.&lt;br /&gt;
&lt;br /&gt;
===Further reading===&lt;br /&gt;
&lt;br /&gt;
Aiken, John M (2013). &#039;&#039;Transforming High School Physics With Modeling And Computation&#039;&#039;. Georgia State University.&lt;br /&gt;
&lt;br /&gt;
===External links===&lt;br /&gt;
&lt;br /&gt;
[http://www.wired.com/2015/08/coding-physics-course/ You Should Be Coding in Your Physics Course]&lt;br /&gt;
&lt;br /&gt;
[http://vpython.wikidot.com/ VPython Wiki Site]&lt;br /&gt;
&lt;br /&gt;
[https://groups.google.com/forum/#!forum/vpython-users VPython user group]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
This section contains the the references you used while writing this page&lt;br /&gt;
&lt;br /&gt;
[http://vpython.org/contents/cTsource/cToverview.html The cT Programming Language]&lt;br /&gt;
&lt;br /&gt;
[https://wiki.python.org/moin/VPython/ VPython - Python Wiki]&lt;br /&gt;
&lt;br /&gt;
[http://www.nsf.gov/awardsearch/showAward?AWD_ID=0237132 VPython NSF Award]&lt;br /&gt;
&lt;br /&gt;
[[Category:VPython]]&lt;/div&gt;</summary>
		<author><name>Scmcn22</name></author>
	</entry>
	<entry>
		<id>http://www.physicsbook.gatech.edu/index.php?title=VPython&amp;diff=27615</id>
		<title>VPython</title>
		<link rel="alternate" type="text/html" href="http://www.physicsbook.gatech.edu/index.php?title=VPython&amp;diff=27615"/>
		<updated>2017-04-07T22:30:23Z</updated>

		<summary type="html">&lt;p&gt;Scmcn22: /* Useful built-in functions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Claimed by Scott McNeill&lt;br /&gt;
&lt;br /&gt;
VPython is a Python graphics module used for modeling objects in 3-dimensional space.  In the field of physics, this is especially useful for calculating and modeling complex relationships between objects and their properties.&lt;br /&gt;
&lt;br /&gt;
[[File:VPythonMagneticForceAnimated.gif|thumb|VPython modeling the magnetic force on a moving particle]]&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
&lt;br /&gt;
VPython is compatible with Windows, OSX, and Linux.  While there is an older VPython version available that supports Python 3, the Georgia Tech physics courses use Python 2 syntax so it is recommended to install the latest version of VPython as outlined below.&lt;br /&gt;
&lt;br /&gt;
===Windows===&lt;br /&gt;
[[File:VPythonWindows.png|thumb|VPython running in Windows 7]]&lt;br /&gt;
&lt;br /&gt;
1. Install [http://python.org/ftp/python/2.7.9/python-2.7.9.amd64.msi Python-2.7].&lt;br /&gt;
&lt;br /&gt;
2. Download and install VPython from [http://sourceforge.net/projects/vpythonwx/files/6.11-release/VPython-Win-64-Py2.7-6.11.exe/download Sourceforge].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To troubleshoot any installation issues, look at the extensive [http://vpython.org/contents/download_windows.html VPython Windows installation guide].&lt;br /&gt;
&lt;br /&gt;
===OSX===&lt;br /&gt;
[[File:VPythonOSX.png|thumb|VPython running in OSX 10.10]]&lt;br /&gt;
&lt;br /&gt;
1. Install [https://www.python.org/ftp/python/2.7.9/python-2.7.9-macosx10.6.pkg Python-2.7].  This is required as the version of Python that Apple provides is not compatible.&lt;br /&gt;
&lt;br /&gt;
2. Download and install the VPython package from [http://sourceforge.net/projects/vpythonwx/files/6.11-release/VPython-Mac-Py2.7-6.11.dmg/download Sourceforge].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To troubleshoot installation issues, see the extensive [http://vpython.org/contents/download_mac.html VPython Mac installation guide].&lt;br /&gt;
&lt;br /&gt;
===GNU/Linux===&lt;br /&gt;
[[File:VPythonUbuntu.png|thumb|VPython running in Ubuntu 15.04+]]&lt;br /&gt;
&lt;br /&gt;
Some Linux distributions include VPython in their repositories.  For example, to install VPython in Ubuntu 15.04:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get install python-visual&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If your Linux distribution&#039;s repository does not have the latest version of VPython, you can run the Windows version using [https://www.winehq.org/ Wine].  The [http://vpython.org/contents/download_linux.html VPython Linux installation guide] contains detailed instructions.&lt;br /&gt;
&lt;br /&gt;
===Glowscript===&lt;br /&gt;
&lt;br /&gt;
Another useful method of using Vpython can be found at http://www.glowscript.org/. At this website, a user can make an account and have a script up and running within minutes on a web browser without having to deal with downloading any software or worrying about compatibility. Only downside is that it can be tricky to save the code for submitting to Webassign.&lt;br /&gt;
&lt;br /&gt;
==Getting started with VPython==&lt;br /&gt;
The easiest way to use VPython is with VIDLE.  VIDLE is a development environment and is the most useful for editing and running code.  To start, open the VIDLE application (it may be called something like VIDLE-Py2.7).  A blank file should open.  Type the following two lines in:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;from __future__ import division&lt;br /&gt;
&lt;br /&gt;
from visual import *&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first line tells Python to not use integer division, which would result in &amp;lt;code&amp;gt;1/3&amp;lt;/code&amp;gt; returning the floor &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; instead of &amp;lt;code&amp;gt;0.3333333333333333&amp;lt;/code&amp;gt;.  The second line tells Python to import everything from the visual (VPython) library for you to use.&lt;br /&gt;
&lt;br /&gt;
After these two lines, you can create objects, assign variables, do calculations, and much more.  You can also run VPython from the command line, although it may require additional setup so Python can locate the &amp;lt;code&amp;gt;visual&amp;lt;/code&amp;gt; module.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Creating VPython Objects==&lt;br /&gt;
When you create objects, it is often useful to assign them to variables so you can reference them later to either get or set values describing for example the position and size of the object.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sphere&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;particle = sphere(pos=(0,0,0), radius=4, color=color.blue)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This creates a blue sphere centered at the origin &amp;lt;0,0,0&amp;gt; with radius 4.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Arrow&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;arrowToOrigin = arrow(pos=(0,2,0), axis=(0,8,0), color=color.green)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This creates a green arrow pointing from &amp;lt;0,2,0&amp;gt; to &amp;lt;0,10,0&amp;gt;.  Note that &amp;lt;code&amp;gt;axis&amp;lt;/code&amp;gt; is always relative to the start of the arrow, not the origin &amp;lt;0,0,0&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cylinder&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;wire = cylinder(pos=(0,0,0), axis=(20,0,0), radius=1, color=color.yellow)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This creates a yellow cylinder starting at the origin &amp;lt;0,0,0&amp;gt; and extending to &amp;lt;20,0,0&amp;gt; with radius 1.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example&#039;&#039;&#039;&lt;br /&gt;
[[File:VPythonObjects.png|thumb|Result of example code]]&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
from __future__ import division&lt;br /&gt;
from visual import *&lt;br /&gt;
&lt;br /&gt;
particle = sphere(pos=(0,0,0), radius=4, color=color.blue)&lt;br /&gt;
arrowToOrigin = arrow(pos=(0,2,0), axis=(0,8,0), color=color.green)&lt;br /&gt;
wire = cylinder(pos=(0,0,0), axis=(20,0,0), radius=1, color=color.yellow)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Updating objects&#039;&#039;&#039;&lt;br /&gt;
If you assign an object to a variable (such as &amp;lt;code&amp;gt;particle&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;arrowToOrigin&amp;lt;/code&amp;gt; above) you can adjust its parameters such as its location.  For the above sphere, you can change its location to &amp;lt;-5,-5,0&amp;gt; with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;particle.pos=(-5,-5,0)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To change the axis of the above arrow to point to &amp;lt;-10,5,0&amp;gt;, use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;arrowToOrigin.axis=(-10,5,0)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To change the radius of the above cylinder to 3, use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;wire.radius=3&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example&#039;&#039;&#039;&lt;br /&gt;
[[File:VPythonObjectsChanged.png|thumb|Result of example code]]&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
from __future__ import division&lt;br /&gt;
from visual import *&lt;br /&gt;
&lt;br /&gt;
particle = sphere(pos=(0,0,0), radius=4, color=color.blue)&lt;br /&gt;
arrowToOrigin = arrow(pos=(0,2,0), axis=(0,8,0), color=color.green)&lt;br /&gt;
wire = cylinder(pos=(0,0,0), axis=(20,0,0), radius=1, color=color.yellow)&lt;br /&gt;
&lt;br /&gt;
particle.pos=(-5,-5,0)&lt;br /&gt;
arrowToOrigin.axis=(-10,5,0)&lt;br /&gt;
wire.radius=3&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Useful built-in functions==&lt;br /&gt;
&lt;br /&gt;
VPython includes various functions that can make your calculations much easier.  The following functions simplify mathematical operations on vectors and will come in handy very often.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cross-multiply two vectors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cross(vectorA, vectorB)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Magnitude of a vector&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;mag(vector)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Square of the Magnitude of a vector&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;mag2(vector)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Unit vector of a vector&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;norm(vector)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Square Root&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sqrt(value)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==VPython Operators==&lt;br /&gt;
&lt;br /&gt;
===Mathematical Operators===&lt;br /&gt;
1) #  comment out a line&lt;br /&gt;
&lt;br /&gt;
2) + - * /   addition, subtraction, multiplication, division&lt;br /&gt;
&lt;br /&gt;
3) ** exponential&lt;br /&gt;
&lt;br /&gt;
4) % modulus or remainder&lt;br /&gt;
&lt;br /&gt;
===Logical Operators===&lt;br /&gt;
1) ==  outputs true if the compared values are the same&lt;br /&gt;
&lt;br /&gt;
2) != outputs true if the compared values are not the same&lt;br /&gt;
&lt;br /&gt;
3) &amp;gt; or &amp;lt; outputs true if the compared values are greater or less than the other&lt;br /&gt;
&lt;br /&gt;
4) &amp;gt;= or &amp;lt;= Same as above but outputs true if greater or less than or equal to the compared value&lt;br /&gt;
&lt;br /&gt;
==Connectedness==&lt;br /&gt;
&lt;br /&gt;
I am very interested in programming.  I have used Python for years, so translating Physics problems into VPython code is a great way to cement the fundamental ideas in my mind.&lt;br /&gt;
&lt;br /&gt;
VPython is a great tool to bridge the worlds of Computer Science and Physics.  Many of the calculations required to model a physical object would be tedious if done by hand.  Yet with often a few lines of code, this work can be reduced to almost nothing.&lt;br /&gt;
&lt;br /&gt;
NASA has published [http://gcmd.gsfc.nasa.gov/KeywordSearch/Metadata.do?Portal=GCMD&amp;amp;MetadataType=1&amp;amp;MetadataView=Full&amp;amp;KeywordPath=&amp;amp;EntryId=3-D_ES-Models VPython models].  However, VPython is still primarily used in an educational context.&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
&lt;br /&gt;
VPython was originally released in 2000 by David Scherer after he took an introductory physics class at Carnegie Mellon University.  At the time, the school used the cT programming language for 2D modeling, and David saw the need for something better.  Working with several people including professors Ruth Chabay and Bruce Sherwood, he developed a Python module called Visual.  Visual Python or VPython featured 3D modeling, as well as an easier-to-understand object-oriented syntax.  Beginning in 2002, the National Science Foundation had awarded $292,286.00 as of December 2015 for the further development of this tool.  VPython is released under an Open Source license, and development continues today.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
If you have never used Python, the [[VPython_basics| VPython Basics]] wiki page has information for getting started with Python programming.&lt;br /&gt;
&lt;br /&gt;
===Further reading===&lt;br /&gt;
&lt;br /&gt;
Aiken, John M (2013). &#039;&#039;Transforming High School Physics With Modeling And Computation&#039;&#039;. Georgia State University.&lt;br /&gt;
&lt;br /&gt;
===External links===&lt;br /&gt;
&lt;br /&gt;
[http://www.wired.com/2015/08/coding-physics-course/ You Should Be Coding in Your Physics Course]&lt;br /&gt;
&lt;br /&gt;
[http://vpython.wikidot.com/ VPython Wiki Site]&lt;br /&gt;
&lt;br /&gt;
[https://groups.google.com/forum/#!forum/vpython-users VPython user group]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
This section contains the the references you used while writing this page&lt;br /&gt;
&lt;br /&gt;
[http://vpython.org/contents/cTsource/cToverview.html The cT Programming Language]&lt;br /&gt;
&lt;br /&gt;
[https://wiki.python.org/moin/VPython/ VPython - Python Wiki]&lt;br /&gt;
&lt;br /&gt;
[http://www.nsf.gov/awardsearch/showAward?AWD_ID=0237132 VPython NSF Award]&lt;br /&gt;
&lt;br /&gt;
[[Category:VPython]]&lt;/div&gt;</summary>
		<author><name>Scmcn22</name></author>
	</entry>
	<entry>
		<id>http://www.physicsbook.gatech.edu/index.php?title=VPython&amp;diff=27614</id>
		<title>VPython</title>
		<link rel="alternate" type="text/html" href="http://www.physicsbook.gatech.edu/index.php?title=VPython&amp;diff=27614"/>
		<updated>2017-04-07T22:29:31Z</updated>

		<summary type="html">&lt;p&gt;Scmcn22: /* Useful built-in functions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Claimed by Scott McNeill&lt;br /&gt;
&lt;br /&gt;
VPython is a Python graphics module used for modeling objects in 3-dimensional space.  In the field of physics, this is especially useful for calculating and modeling complex relationships between objects and their properties.&lt;br /&gt;
&lt;br /&gt;
[[File:VPythonMagneticForceAnimated.gif|thumb|VPython modeling the magnetic force on a moving particle]]&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
&lt;br /&gt;
VPython is compatible with Windows, OSX, and Linux.  While there is an older VPython version available that supports Python 3, the Georgia Tech physics courses use Python 2 syntax so it is recommended to install the latest version of VPython as outlined below.&lt;br /&gt;
&lt;br /&gt;
===Windows===&lt;br /&gt;
[[File:VPythonWindows.png|thumb|VPython running in Windows 7]]&lt;br /&gt;
&lt;br /&gt;
1. Install [http://python.org/ftp/python/2.7.9/python-2.7.9.amd64.msi Python-2.7].&lt;br /&gt;
&lt;br /&gt;
2. Download and install VPython from [http://sourceforge.net/projects/vpythonwx/files/6.11-release/VPython-Win-64-Py2.7-6.11.exe/download Sourceforge].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To troubleshoot any installation issues, look at the extensive [http://vpython.org/contents/download_windows.html VPython Windows installation guide].&lt;br /&gt;
&lt;br /&gt;
===OSX===&lt;br /&gt;
[[File:VPythonOSX.png|thumb|VPython running in OSX 10.10]]&lt;br /&gt;
&lt;br /&gt;
1. Install [https://www.python.org/ftp/python/2.7.9/python-2.7.9-macosx10.6.pkg Python-2.7].  This is required as the version of Python that Apple provides is not compatible.&lt;br /&gt;
&lt;br /&gt;
2. Download and install the VPython package from [http://sourceforge.net/projects/vpythonwx/files/6.11-release/VPython-Mac-Py2.7-6.11.dmg/download Sourceforge].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To troubleshoot installation issues, see the extensive [http://vpython.org/contents/download_mac.html VPython Mac installation guide].&lt;br /&gt;
&lt;br /&gt;
===GNU/Linux===&lt;br /&gt;
[[File:VPythonUbuntu.png|thumb|VPython running in Ubuntu 15.04+]]&lt;br /&gt;
&lt;br /&gt;
Some Linux distributions include VPython in their repositories.  For example, to install VPython in Ubuntu 15.04:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get install python-visual&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If your Linux distribution&#039;s repository does not have the latest version of VPython, you can run the Windows version using [https://www.winehq.org/ Wine].  The [http://vpython.org/contents/download_linux.html VPython Linux installation guide] contains detailed instructions.&lt;br /&gt;
&lt;br /&gt;
===Glowscript===&lt;br /&gt;
&lt;br /&gt;
Another useful method of using Vpython can be found at http://www.glowscript.org/. At this website, a user can make an account and have a script up and running within minutes on a web browser without having to deal with downloading any software or worrying about compatibility. Only downside is that it can be tricky to save the code for submitting to Webassign.&lt;br /&gt;
&lt;br /&gt;
==Getting started with VPython==&lt;br /&gt;
The easiest way to use VPython is with VIDLE.  VIDLE is a development environment and is the most useful for editing and running code.  To start, open the VIDLE application (it may be called something like VIDLE-Py2.7).  A blank file should open.  Type the following two lines in:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;from __future__ import division&lt;br /&gt;
&lt;br /&gt;
from visual import *&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first line tells Python to not use integer division, which would result in &amp;lt;code&amp;gt;1/3&amp;lt;/code&amp;gt; returning the floor &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; instead of &amp;lt;code&amp;gt;0.3333333333333333&amp;lt;/code&amp;gt;.  The second line tells Python to import everything from the visual (VPython) library for you to use.&lt;br /&gt;
&lt;br /&gt;
After these two lines, you can create objects, assign variables, do calculations, and much more.  You can also run VPython from the command line, although it may require additional setup so Python can locate the &amp;lt;code&amp;gt;visual&amp;lt;/code&amp;gt; module.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Creating VPython Objects==&lt;br /&gt;
When you create objects, it is often useful to assign them to variables so you can reference them later to either get or set values describing for example the position and size of the object.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sphere&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;particle = sphere(pos=(0,0,0), radius=4, color=color.blue)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This creates a blue sphere centered at the origin &amp;lt;0,0,0&amp;gt; with radius 4.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Arrow&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;arrowToOrigin = arrow(pos=(0,2,0), axis=(0,8,0), color=color.green)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This creates a green arrow pointing from &amp;lt;0,2,0&amp;gt; to &amp;lt;0,10,0&amp;gt;.  Note that &amp;lt;code&amp;gt;axis&amp;lt;/code&amp;gt; is always relative to the start of the arrow, not the origin &amp;lt;0,0,0&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cylinder&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;wire = cylinder(pos=(0,0,0), axis=(20,0,0), radius=1, color=color.yellow)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This creates a yellow cylinder starting at the origin &amp;lt;0,0,0&amp;gt; and extending to &amp;lt;20,0,0&amp;gt; with radius 1.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example&#039;&#039;&#039;&lt;br /&gt;
[[File:VPythonObjects.png|thumb|Result of example code]]&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
from __future__ import division&lt;br /&gt;
from visual import *&lt;br /&gt;
&lt;br /&gt;
particle = sphere(pos=(0,0,0), radius=4, color=color.blue)&lt;br /&gt;
arrowToOrigin = arrow(pos=(0,2,0), axis=(0,8,0), color=color.green)&lt;br /&gt;
wire = cylinder(pos=(0,0,0), axis=(20,0,0), radius=1, color=color.yellow)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Updating objects&#039;&#039;&#039;&lt;br /&gt;
If you assign an object to a variable (such as &amp;lt;code&amp;gt;particle&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;arrowToOrigin&amp;lt;/code&amp;gt; above) you can adjust its parameters such as its location.  For the above sphere, you can change its location to &amp;lt;-5,-5,0&amp;gt; with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;particle.pos=(-5,-5,0)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To change the axis of the above arrow to point to &amp;lt;-10,5,0&amp;gt;, use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;arrowToOrigin.axis=(-10,5,0)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To change the radius of the above cylinder to 3, use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;wire.radius=3&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example&#039;&#039;&#039;&lt;br /&gt;
[[File:VPythonObjectsChanged.png|thumb|Result of example code]]&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
from __future__ import division&lt;br /&gt;
from visual import *&lt;br /&gt;
&lt;br /&gt;
particle = sphere(pos=(0,0,0), radius=4, color=color.blue)&lt;br /&gt;
arrowToOrigin = arrow(pos=(0,2,0), axis=(0,8,0), color=color.green)&lt;br /&gt;
wire = cylinder(pos=(0,0,0), axis=(20,0,0), radius=1, color=color.yellow)&lt;br /&gt;
&lt;br /&gt;
particle.pos=(-5,-5,0)&lt;br /&gt;
arrowToOrigin.axis=(-10,5,0)&lt;br /&gt;
wire.radius=3&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Useful built-in functions==&lt;br /&gt;
&lt;br /&gt;
VPython includes various functions that can make your calculations much easier.  The following functions simplify mathematical operations on vectors and will come in handy very often.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cross-multiply two vectors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cross(vectorA, vectorB)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Magnitude of a vector&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;mag(vector)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Square of the Magnitude of a vector&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;mag2(vector)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Unit vector of a vector&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;norm(vector)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==VPython Operators==&lt;br /&gt;
&lt;br /&gt;
===Mathematical Operators===&lt;br /&gt;
1) #  comment out a line&lt;br /&gt;
&lt;br /&gt;
2) + - * /   addition, subtraction, multiplication, division&lt;br /&gt;
&lt;br /&gt;
3) ** exponential&lt;br /&gt;
&lt;br /&gt;
4) % modulus or remainder&lt;br /&gt;
&lt;br /&gt;
===Logical Operators===&lt;br /&gt;
1) ==  outputs true if the compared values are the same&lt;br /&gt;
&lt;br /&gt;
2) != outputs true if the compared values are not the same&lt;br /&gt;
&lt;br /&gt;
3) &amp;gt; or &amp;lt; outputs true if the compared values are greater or less than the other&lt;br /&gt;
&lt;br /&gt;
4) &amp;gt;= or &amp;lt;= Same as above but outputs true if greater or less than or equal to the compared value&lt;br /&gt;
&lt;br /&gt;
==Connectedness==&lt;br /&gt;
&lt;br /&gt;
I am very interested in programming.  I have used Python for years, so translating Physics problems into VPython code is a great way to cement the fundamental ideas in my mind.&lt;br /&gt;
&lt;br /&gt;
VPython is a great tool to bridge the worlds of Computer Science and Physics.  Many of the calculations required to model a physical object would be tedious if done by hand.  Yet with often a few lines of code, this work can be reduced to almost nothing.&lt;br /&gt;
&lt;br /&gt;
NASA has published [http://gcmd.gsfc.nasa.gov/KeywordSearch/Metadata.do?Portal=GCMD&amp;amp;MetadataType=1&amp;amp;MetadataView=Full&amp;amp;KeywordPath=&amp;amp;EntryId=3-D_ES-Models VPython models].  However, VPython is still primarily used in an educational context.&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
&lt;br /&gt;
VPython was originally released in 2000 by David Scherer after he took an introductory physics class at Carnegie Mellon University.  At the time, the school used the cT programming language for 2D modeling, and David saw the need for something better.  Working with several people including professors Ruth Chabay and Bruce Sherwood, he developed a Python module called Visual.  Visual Python or VPython featured 3D modeling, as well as an easier-to-understand object-oriented syntax.  Beginning in 2002, the National Science Foundation had awarded $292,286.00 as of December 2015 for the further development of this tool.  VPython is released under an Open Source license, and development continues today.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
If you have never used Python, the [[VPython_basics| VPython Basics]] wiki page has information for getting started with Python programming.&lt;br /&gt;
&lt;br /&gt;
===Further reading===&lt;br /&gt;
&lt;br /&gt;
Aiken, John M (2013). &#039;&#039;Transforming High School Physics With Modeling And Computation&#039;&#039;. Georgia State University.&lt;br /&gt;
&lt;br /&gt;
===External links===&lt;br /&gt;
&lt;br /&gt;
[http://www.wired.com/2015/08/coding-physics-course/ You Should Be Coding in Your Physics Course]&lt;br /&gt;
&lt;br /&gt;
[http://vpython.wikidot.com/ VPython Wiki Site]&lt;br /&gt;
&lt;br /&gt;
[https://groups.google.com/forum/#!forum/vpython-users VPython user group]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
This section contains the the references you used while writing this page&lt;br /&gt;
&lt;br /&gt;
[http://vpython.org/contents/cTsource/cToverview.html The cT Programming Language]&lt;br /&gt;
&lt;br /&gt;
[https://wiki.python.org/moin/VPython/ VPython - Python Wiki]&lt;br /&gt;
&lt;br /&gt;
[http://www.nsf.gov/awardsearch/showAward?AWD_ID=0237132 VPython NSF Award]&lt;br /&gt;
&lt;br /&gt;
[[Category:VPython]]&lt;/div&gt;</summary>
		<author><name>Scmcn22</name></author>
	</entry>
	<entry>
		<id>http://www.physicsbook.gatech.edu/index.php?title=VPython&amp;diff=27613</id>
		<title>VPython</title>
		<link rel="alternate" type="text/html" href="http://www.physicsbook.gatech.edu/index.php?title=VPython&amp;diff=27613"/>
		<updated>2017-04-07T22:29:02Z</updated>

		<summary type="html">&lt;p&gt;Scmcn22: /* Logical Operators */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Claimed by Scott McNeill&lt;br /&gt;
&lt;br /&gt;
VPython is a Python graphics module used for modeling objects in 3-dimensional space.  In the field of physics, this is especially useful for calculating and modeling complex relationships between objects and their properties.&lt;br /&gt;
&lt;br /&gt;
[[File:VPythonMagneticForceAnimated.gif|thumb|VPython modeling the magnetic force on a moving particle]]&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
&lt;br /&gt;
VPython is compatible with Windows, OSX, and Linux.  While there is an older VPython version available that supports Python 3, the Georgia Tech physics courses use Python 2 syntax so it is recommended to install the latest version of VPython as outlined below.&lt;br /&gt;
&lt;br /&gt;
===Windows===&lt;br /&gt;
[[File:VPythonWindows.png|thumb|VPython running in Windows 7]]&lt;br /&gt;
&lt;br /&gt;
1. Install [http://python.org/ftp/python/2.7.9/python-2.7.9.amd64.msi Python-2.7].&lt;br /&gt;
&lt;br /&gt;
2. Download and install VPython from [http://sourceforge.net/projects/vpythonwx/files/6.11-release/VPython-Win-64-Py2.7-6.11.exe/download Sourceforge].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To troubleshoot any installation issues, look at the extensive [http://vpython.org/contents/download_windows.html VPython Windows installation guide].&lt;br /&gt;
&lt;br /&gt;
===OSX===&lt;br /&gt;
[[File:VPythonOSX.png|thumb|VPython running in OSX 10.10]]&lt;br /&gt;
&lt;br /&gt;
1. Install [https://www.python.org/ftp/python/2.7.9/python-2.7.9-macosx10.6.pkg Python-2.7].  This is required as the version of Python that Apple provides is not compatible.&lt;br /&gt;
&lt;br /&gt;
2. Download and install the VPython package from [http://sourceforge.net/projects/vpythonwx/files/6.11-release/VPython-Mac-Py2.7-6.11.dmg/download Sourceforge].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To troubleshoot installation issues, see the extensive [http://vpython.org/contents/download_mac.html VPython Mac installation guide].&lt;br /&gt;
&lt;br /&gt;
===GNU/Linux===&lt;br /&gt;
[[File:VPythonUbuntu.png|thumb|VPython running in Ubuntu 15.04+]]&lt;br /&gt;
&lt;br /&gt;
Some Linux distributions include VPython in their repositories.  For example, to install VPython in Ubuntu 15.04:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get install python-visual&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If your Linux distribution&#039;s repository does not have the latest version of VPython, you can run the Windows version using [https://www.winehq.org/ Wine].  The [http://vpython.org/contents/download_linux.html VPython Linux installation guide] contains detailed instructions.&lt;br /&gt;
&lt;br /&gt;
===Glowscript===&lt;br /&gt;
&lt;br /&gt;
Another useful method of using Vpython can be found at http://www.glowscript.org/. At this website, a user can make an account and have a script up and running within minutes on a web browser without having to deal with downloading any software or worrying about compatibility. Only downside is that it can be tricky to save the code for submitting to Webassign.&lt;br /&gt;
&lt;br /&gt;
==Getting started with VPython==&lt;br /&gt;
The easiest way to use VPython is with VIDLE.  VIDLE is a development environment and is the most useful for editing and running code.  To start, open the VIDLE application (it may be called something like VIDLE-Py2.7).  A blank file should open.  Type the following two lines in:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;from __future__ import division&lt;br /&gt;
&lt;br /&gt;
from visual import *&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first line tells Python to not use integer division, which would result in &amp;lt;code&amp;gt;1/3&amp;lt;/code&amp;gt; returning the floor &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; instead of &amp;lt;code&amp;gt;0.3333333333333333&amp;lt;/code&amp;gt;.  The second line tells Python to import everything from the visual (VPython) library for you to use.&lt;br /&gt;
&lt;br /&gt;
After these two lines, you can create objects, assign variables, do calculations, and much more.  You can also run VPython from the command line, although it may require additional setup so Python can locate the &amp;lt;code&amp;gt;visual&amp;lt;/code&amp;gt; module.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Creating VPython Objects==&lt;br /&gt;
When you create objects, it is often useful to assign them to variables so you can reference them later to either get or set values describing for example the position and size of the object.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sphere&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;particle = sphere(pos=(0,0,0), radius=4, color=color.blue)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This creates a blue sphere centered at the origin &amp;lt;0,0,0&amp;gt; with radius 4.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Arrow&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;arrowToOrigin = arrow(pos=(0,2,0), axis=(0,8,0), color=color.green)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This creates a green arrow pointing from &amp;lt;0,2,0&amp;gt; to &amp;lt;0,10,0&amp;gt;.  Note that &amp;lt;code&amp;gt;axis&amp;lt;/code&amp;gt; is always relative to the start of the arrow, not the origin &amp;lt;0,0,0&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cylinder&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;wire = cylinder(pos=(0,0,0), axis=(20,0,0), radius=1, color=color.yellow)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This creates a yellow cylinder starting at the origin &amp;lt;0,0,0&amp;gt; and extending to &amp;lt;20,0,0&amp;gt; with radius 1.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example&#039;&#039;&#039;&lt;br /&gt;
[[File:VPythonObjects.png|thumb|Result of example code]]&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
from __future__ import division&lt;br /&gt;
from visual import *&lt;br /&gt;
&lt;br /&gt;
particle = sphere(pos=(0,0,0), radius=4, color=color.blue)&lt;br /&gt;
arrowToOrigin = arrow(pos=(0,2,0), axis=(0,8,0), color=color.green)&lt;br /&gt;
wire = cylinder(pos=(0,0,0), axis=(20,0,0), radius=1, color=color.yellow)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Updating objects&#039;&#039;&#039;&lt;br /&gt;
If you assign an object to a variable (such as &amp;lt;code&amp;gt;particle&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;arrowToOrigin&amp;lt;/code&amp;gt; above) you can adjust its parameters such as its location.  For the above sphere, you can change its location to &amp;lt;-5,-5,0&amp;gt; with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;particle.pos=(-5,-5,0)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To change the axis of the above arrow to point to &amp;lt;-10,5,0&amp;gt;, use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;arrowToOrigin.axis=(-10,5,0)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To change the radius of the above cylinder to 3, use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;wire.radius=3&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example&#039;&#039;&#039;&lt;br /&gt;
[[File:VPythonObjectsChanged.png|thumb|Result of example code]]&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
from __future__ import division&lt;br /&gt;
from visual import *&lt;br /&gt;
&lt;br /&gt;
particle = sphere(pos=(0,0,0), radius=4, color=color.blue)&lt;br /&gt;
arrowToOrigin = arrow(pos=(0,2,0), axis=(0,8,0), color=color.green)&lt;br /&gt;
wire = cylinder(pos=(0,0,0), axis=(20,0,0), radius=1, color=color.yellow)&lt;br /&gt;
&lt;br /&gt;
particle.pos=(-5,-5,0)&lt;br /&gt;
arrowToOrigin.axis=(-10,5,0)&lt;br /&gt;
wire.radius=3&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Useful built-in functions==&lt;br /&gt;
&lt;br /&gt;
VPython includes various functions that can make your calculations much easier.  The following functions simplify mathematical operations on vectors and will come in handy very often.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cross-multiply two vectors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cross(vectorA, vectorB)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Magnitude of a vector&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;mag(vector)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Square of the Magnitude of a vector&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;mag2(vector)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Unit vector of a vector&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;norm(vector)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==VPython Operators==&lt;br /&gt;
&lt;br /&gt;
===Mathematical Operators===&lt;br /&gt;
1) #  comment out a line&lt;br /&gt;
&lt;br /&gt;
2) + - * /   addition, subtraction, multiplication, division&lt;br /&gt;
&lt;br /&gt;
3) ** exponential&lt;br /&gt;
&lt;br /&gt;
4) % modulus or remainder&lt;br /&gt;
&lt;br /&gt;
===Logical Operators===&lt;br /&gt;
1) ==  outputs true if the compared values are the same&lt;br /&gt;
&lt;br /&gt;
2) != outputs true if the compared values are not the same&lt;br /&gt;
&lt;br /&gt;
3) &amp;gt; or &amp;lt; outputs true if the compared values are greater or less than the other&lt;br /&gt;
&lt;br /&gt;
4) &amp;gt;= or &amp;lt;= Same as above but outputs true if greater or less than or equal to the compared value&lt;br /&gt;
&lt;br /&gt;
==Connectedness==&lt;br /&gt;
&lt;br /&gt;
I am very interested in programming.  I have used Python for years, so translating Physics problems into VPython code is a great way to cement the fundamental ideas in my mind.&lt;br /&gt;
&lt;br /&gt;
VPython is a great tool to bridge the worlds of Computer Science and Physics.  Many of the calculations required to model a physical object would be tedious if done by hand.  Yet with often a few lines of code, this work can be reduced to almost nothing.&lt;br /&gt;
&lt;br /&gt;
NASA has published [http://gcmd.gsfc.nasa.gov/KeywordSearch/Metadata.do?Portal=GCMD&amp;amp;MetadataType=1&amp;amp;MetadataView=Full&amp;amp;KeywordPath=&amp;amp;EntryId=3-D_ES-Models VPython models].  However, VPython is still primarily used in an educational context.&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
&lt;br /&gt;
VPython was originally released in 2000 by David Scherer after he took an introductory physics class at Carnegie Mellon University.  At the time, the school used the cT programming language for 2D modeling, and David saw the need for something better.  Working with several people including professors Ruth Chabay and Bruce Sherwood, he developed a Python module called Visual.  Visual Python or VPython featured 3D modeling, as well as an easier-to-understand object-oriented syntax.  Beginning in 2002, the National Science Foundation had awarded $292,286.00 as of December 2015 for the further development of this tool.  VPython is released under an Open Source license, and development continues today.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
If you have never used Python, the [[VPython_basics| VPython Basics]] wiki page has information for getting started with Python programming.&lt;br /&gt;
&lt;br /&gt;
===Further reading===&lt;br /&gt;
&lt;br /&gt;
Aiken, John M (2013). &#039;&#039;Transforming High School Physics With Modeling And Computation&#039;&#039;. Georgia State University.&lt;br /&gt;
&lt;br /&gt;
===External links===&lt;br /&gt;
&lt;br /&gt;
[http://www.wired.com/2015/08/coding-physics-course/ You Should Be Coding in Your Physics Course]&lt;br /&gt;
&lt;br /&gt;
[http://vpython.wikidot.com/ VPython Wiki Site]&lt;br /&gt;
&lt;br /&gt;
[https://groups.google.com/forum/#!forum/vpython-users VPython user group]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
This section contains the the references you used while writing this page&lt;br /&gt;
&lt;br /&gt;
[http://vpython.org/contents/cTsource/cToverview.html The cT Programming Language]&lt;br /&gt;
&lt;br /&gt;
[https://wiki.python.org/moin/VPython/ VPython - Python Wiki]&lt;br /&gt;
&lt;br /&gt;
[http://www.nsf.gov/awardsearch/showAward?AWD_ID=0237132 VPython NSF Award]&lt;br /&gt;
&lt;br /&gt;
[[Category:VPython]]&lt;/div&gt;</summary>
		<author><name>Scmcn22</name></author>
	</entry>
	<entry>
		<id>http://www.physicsbook.gatech.edu/index.php?title=VPython&amp;diff=27612</id>
		<title>VPython</title>
		<link rel="alternate" type="text/html" href="http://www.physicsbook.gatech.edu/index.php?title=VPython&amp;diff=27612"/>
		<updated>2017-04-07T22:19:56Z</updated>

		<summary type="html">&lt;p&gt;Scmcn22: /* Mathematical Operators */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Claimed by Scott McNeill&lt;br /&gt;
&lt;br /&gt;
VPython is a Python graphics module used for modeling objects in 3-dimensional space.  In the field of physics, this is especially useful for calculating and modeling complex relationships between objects and their properties.&lt;br /&gt;
&lt;br /&gt;
[[File:VPythonMagneticForceAnimated.gif|thumb|VPython modeling the magnetic force on a moving particle]]&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
&lt;br /&gt;
VPython is compatible with Windows, OSX, and Linux.  While there is an older VPython version available that supports Python 3, the Georgia Tech physics courses use Python 2 syntax so it is recommended to install the latest version of VPython as outlined below.&lt;br /&gt;
&lt;br /&gt;
===Windows===&lt;br /&gt;
[[File:VPythonWindows.png|thumb|VPython running in Windows 7]]&lt;br /&gt;
&lt;br /&gt;
1. Install [http://python.org/ftp/python/2.7.9/python-2.7.9.amd64.msi Python-2.7].&lt;br /&gt;
&lt;br /&gt;
2. Download and install VPython from [http://sourceforge.net/projects/vpythonwx/files/6.11-release/VPython-Win-64-Py2.7-6.11.exe/download Sourceforge].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To troubleshoot any installation issues, look at the extensive [http://vpython.org/contents/download_windows.html VPython Windows installation guide].&lt;br /&gt;
&lt;br /&gt;
===OSX===&lt;br /&gt;
[[File:VPythonOSX.png|thumb|VPython running in OSX 10.10]]&lt;br /&gt;
&lt;br /&gt;
1. Install [https://www.python.org/ftp/python/2.7.9/python-2.7.9-macosx10.6.pkg Python-2.7].  This is required as the version of Python that Apple provides is not compatible.&lt;br /&gt;
&lt;br /&gt;
2. Download and install the VPython package from [http://sourceforge.net/projects/vpythonwx/files/6.11-release/VPython-Mac-Py2.7-6.11.dmg/download Sourceforge].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To troubleshoot installation issues, see the extensive [http://vpython.org/contents/download_mac.html VPython Mac installation guide].&lt;br /&gt;
&lt;br /&gt;
===GNU/Linux===&lt;br /&gt;
[[File:VPythonUbuntu.png|thumb|VPython running in Ubuntu 15.04+]]&lt;br /&gt;
&lt;br /&gt;
Some Linux distributions include VPython in their repositories.  For example, to install VPython in Ubuntu 15.04:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get install python-visual&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If your Linux distribution&#039;s repository does not have the latest version of VPython, you can run the Windows version using [https://www.winehq.org/ Wine].  The [http://vpython.org/contents/download_linux.html VPython Linux installation guide] contains detailed instructions.&lt;br /&gt;
&lt;br /&gt;
===Glowscript===&lt;br /&gt;
&lt;br /&gt;
Another useful method of using Vpython can be found at http://www.glowscript.org/. At this website, a user can make an account and have a script up and running within minutes on a web browser without having to deal with downloading any software or worrying about compatibility. Only downside is that it can be tricky to save the code for submitting to Webassign.&lt;br /&gt;
&lt;br /&gt;
==Getting started with VPython==&lt;br /&gt;
The easiest way to use VPython is with VIDLE.  VIDLE is a development environment and is the most useful for editing and running code.  To start, open the VIDLE application (it may be called something like VIDLE-Py2.7).  A blank file should open.  Type the following two lines in:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;from __future__ import division&lt;br /&gt;
&lt;br /&gt;
from visual import *&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first line tells Python to not use integer division, which would result in &amp;lt;code&amp;gt;1/3&amp;lt;/code&amp;gt; returning the floor &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; instead of &amp;lt;code&amp;gt;0.3333333333333333&amp;lt;/code&amp;gt;.  The second line tells Python to import everything from the visual (VPython) library for you to use.&lt;br /&gt;
&lt;br /&gt;
After these two lines, you can create objects, assign variables, do calculations, and much more.  You can also run VPython from the command line, although it may require additional setup so Python can locate the &amp;lt;code&amp;gt;visual&amp;lt;/code&amp;gt; module.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Creating VPython Objects==&lt;br /&gt;
When you create objects, it is often useful to assign them to variables so you can reference them later to either get or set values describing for example the position and size of the object.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sphere&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;particle = sphere(pos=(0,0,0), radius=4, color=color.blue)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This creates a blue sphere centered at the origin &amp;lt;0,0,0&amp;gt; with radius 4.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Arrow&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;arrowToOrigin = arrow(pos=(0,2,0), axis=(0,8,0), color=color.green)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This creates a green arrow pointing from &amp;lt;0,2,0&amp;gt; to &amp;lt;0,10,0&amp;gt;.  Note that &amp;lt;code&amp;gt;axis&amp;lt;/code&amp;gt; is always relative to the start of the arrow, not the origin &amp;lt;0,0,0&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cylinder&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;wire = cylinder(pos=(0,0,0), axis=(20,0,0), radius=1, color=color.yellow)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This creates a yellow cylinder starting at the origin &amp;lt;0,0,0&amp;gt; and extending to &amp;lt;20,0,0&amp;gt; with radius 1.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example&#039;&#039;&#039;&lt;br /&gt;
[[File:VPythonObjects.png|thumb|Result of example code]]&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
from __future__ import division&lt;br /&gt;
from visual import *&lt;br /&gt;
&lt;br /&gt;
particle = sphere(pos=(0,0,0), radius=4, color=color.blue)&lt;br /&gt;
arrowToOrigin = arrow(pos=(0,2,0), axis=(0,8,0), color=color.green)&lt;br /&gt;
wire = cylinder(pos=(0,0,0), axis=(20,0,0), radius=1, color=color.yellow)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Updating objects&#039;&#039;&#039;&lt;br /&gt;
If you assign an object to a variable (such as &amp;lt;code&amp;gt;particle&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;arrowToOrigin&amp;lt;/code&amp;gt; above) you can adjust its parameters such as its location.  For the above sphere, you can change its location to &amp;lt;-5,-5,0&amp;gt; with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;particle.pos=(-5,-5,0)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To change the axis of the above arrow to point to &amp;lt;-10,5,0&amp;gt;, use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;arrowToOrigin.axis=(-10,5,0)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To change the radius of the above cylinder to 3, use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;wire.radius=3&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example&#039;&#039;&#039;&lt;br /&gt;
[[File:VPythonObjectsChanged.png|thumb|Result of example code]]&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
from __future__ import division&lt;br /&gt;
from visual import *&lt;br /&gt;
&lt;br /&gt;
particle = sphere(pos=(0,0,0), radius=4, color=color.blue)&lt;br /&gt;
arrowToOrigin = arrow(pos=(0,2,0), axis=(0,8,0), color=color.green)&lt;br /&gt;
wire = cylinder(pos=(0,0,0), axis=(20,0,0), radius=1, color=color.yellow)&lt;br /&gt;
&lt;br /&gt;
particle.pos=(-5,-5,0)&lt;br /&gt;
arrowToOrigin.axis=(-10,5,0)&lt;br /&gt;
wire.radius=3&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Useful built-in functions==&lt;br /&gt;
&lt;br /&gt;
VPython includes various functions that can make your calculations much easier.  The following functions simplify mathematical operations on vectors and will come in handy very often.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cross-multiply two vectors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cross(vectorA, vectorB)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Magnitude of a vector&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;mag(vector)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Square of the Magnitude of a vector&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;mag2(vector)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Unit vector of a vector&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;norm(vector)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==VPython Operators==&lt;br /&gt;
&lt;br /&gt;
===Mathematical Operators===&lt;br /&gt;
1) #  comment out a line&lt;br /&gt;
&lt;br /&gt;
2) + - * /   addition, subtraction, multiplication, division&lt;br /&gt;
&lt;br /&gt;
3) ** exponential&lt;br /&gt;
&lt;br /&gt;
4) % modulus or remainder&lt;br /&gt;
&lt;br /&gt;
===Logical Operators===&lt;br /&gt;
\==&lt;br /&gt;
&lt;br /&gt;
==Connectedness==&lt;br /&gt;
&lt;br /&gt;
I am very interested in programming.  I have used Python for years, so translating Physics problems into VPython code is a great way to cement the fundamental ideas in my mind.&lt;br /&gt;
&lt;br /&gt;
VPython is a great tool to bridge the worlds of Computer Science and Physics.  Many of the calculations required to model a physical object would be tedious if done by hand.  Yet with often a few lines of code, this work can be reduced to almost nothing.&lt;br /&gt;
&lt;br /&gt;
NASA has published [http://gcmd.gsfc.nasa.gov/KeywordSearch/Metadata.do?Portal=GCMD&amp;amp;MetadataType=1&amp;amp;MetadataView=Full&amp;amp;KeywordPath=&amp;amp;EntryId=3-D_ES-Models VPython models].  However, VPython is still primarily used in an educational context.&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
&lt;br /&gt;
VPython was originally released in 2000 by David Scherer after he took an introductory physics class at Carnegie Mellon University.  At the time, the school used the cT programming language for 2D modeling, and David saw the need for something better.  Working with several people including professors Ruth Chabay and Bruce Sherwood, he developed a Python module called Visual.  Visual Python or VPython featured 3D modeling, as well as an easier-to-understand object-oriented syntax.  Beginning in 2002, the National Science Foundation had awarded $292,286.00 as of December 2015 for the further development of this tool.  VPython is released under an Open Source license, and development continues today.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
If you have never used Python, the [[VPython_basics| VPython Basics]] wiki page has information for getting started with Python programming.&lt;br /&gt;
&lt;br /&gt;
===Further reading===&lt;br /&gt;
&lt;br /&gt;
Aiken, John M (2013). &#039;&#039;Transforming High School Physics With Modeling And Computation&#039;&#039;. Georgia State University.&lt;br /&gt;
&lt;br /&gt;
===External links===&lt;br /&gt;
&lt;br /&gt;
[http://www.wired.com/2015/08/coding-physics-course/ You Should Be Coding in Your Physics Course]&lt;br /&gt;
&lt;br /&gt;
[http://vpython.wikidot.com/ VPython Wiki Site]&lt;br /&gt;
&lt;br /&gt;
[https://groups.google.com/forum/#!forum/vpython-users VPython user group]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
This section contains the the references you used while writing this page&lt;br /&gt;
&lt;br /&gt;
[http://vpython.org/contents/cTsource/cToverview.html The cT Programming Language]&lt;br /&gt;
&lt;br /&gt;
[https://wiki.python.org/moin/VPython/ VPython - Python Wiki]&lt;br /&gt;
&lt;br /&gt;
[http://www.nsf.gov/awardsearch/showAward?AWD_ID=0237132 VPython NSF Award]&lt;br /&gt;
&lt;br /&gt;
[[Category:VPython]]&lt;/div&gt;</summary>
		<author><name>Scmcn22</name></author>
	</entry>
	<entry>
		<id>http://www.physicsbook.gatech.edu/index.php?title=VPython&amp;diff=27611</id>
		<title>VPython</title>
		<link rel="alternate" type="text/html" href="http://www.physicsbook.gatech.edu/index.php?title=VPython&amp;diff=27611"/>
		<updated>2017-04-07T22:19:05Z</updated>

		<summary type="html">&lt;p&gt;Scmcn22: /* Mathematical Operators */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Claimed by Scott McNeill&lt;br /&gt;
&lt;br /&gt;
VPython is a Python graphics module used for modeling objects in 3-dimensional space.  In the field of physics, this is especially useful for calculating and modeling complex relationships between objects and their properties.&lt;br /&gt;
&lt;br /&gt;
[[File:VPythonMagneticForceAnimated.gif|thumb|VPython modeling the magnetic force on a moving particle]]&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
&lt;br /&gt;
VPython is compatible with Windows, OSX, and Linux.  While there is an older VPython version available that supports Python 3, the Georgia Tech physics courses use Python 2 syntax so it is recommended to install the latest version of VPython as outlined below.&lt;br /&gt;
&lt;br /&gt;
===Windows===&lt;br /&gt;
[[File:VPythonWindows.png|thumb|VPython running in Windows 7]]&lt;br /&gt;
&lt;br /&gt;
1. Install [http://python.org/ftp/python/2.7.9/python-2.7.9.amd64.msi Python-2.7].&lt;br /&gt;
&lt;br /&gt;
2. Download and install VPython from [http://sourceforge.net/projects/vpythonwx/files/6.11-release/VPython-Win-64-Py2.7-6.11.exe/download Sourceforge].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To troubleshoot any installation issues, look at the extensive [http://vpython.org/contents/download_windows.html VPython Windows installation guide].&lt;br /&gt;
&lt;br /&gt;
===OSX===&lt;br /&gt;
[[File:VPythonOSX.png|thumb|VPython running in OSX 10.10]]&lt;br /&gt;
&lt;br /&gt;
1. Install [https://www.python.org/ftp/python/2.7.9/python-2.7.9-macosx10.6.pkg Python-2.7].  This is required as the version of Python that Apple provides is not compatible.&lt;br /&gt;
&lt;br /&gt;
2. Download and install the VPython package from [http://sourceforge.net/projects/vpythonwx/files/6.11-release/VPython-Mac-Py2.7-6.11.dmg/download Sourceforge].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To troubleshoot installation issues, see the extensive [http://vpython.org/contents/download_mac.html VPython Mac installation guide].&lt;br /&gt;
&lt;br /&gt;
===GNU/Linux===&lt;br /&gt;
[[File:VPythonUbuntu.png|thumb|VPython running in Ubuntu 15.04+]]&lt;br /&gt;
&lt;br /&gt;
Some Linux distributions include VPython in their repositories.  For example, to install VPython in Ubuntu 15.04:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get install python-visual&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If your Linux distribution&#039;s repository does not have the latest version of VPython, you can run the Windows version using [https://www.winehq.org/ Wine].  The [http://vpython.org/contents/download_linux.html VPython Linux installation guide] contains detailed instructions.&lt;br /&gt;
&lt;br /&gt;
===Glowscript===&lt;br /&gt;
&lt;br /&gt;
Another useful method of using Vpython can be found at http://www.glowscript.org/. At this website, a user can make an account and have a script up and running within minutes on a web browser without having to deal with downloading any software or worrying about compatibility. Only downside is that it can be tricky to save the code for submitting to Webassign.&lt;br /&gt;
&lt;br /&gt;
==Getting started with VPython==&lt;br /&gt;
The easiest way to use VPython is with VIDLE.  VIDLE is a development environment and is the most useful for editing and running code.  To start, open the VIDLE application (it may be called something like VIDLE-Py2.7).  A blank file should open.  Type the following two lines in:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;from __future__ import division&lt;br /&gt;
&lt;br /&gt;
from visual import *&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first line tells Python to not use integer division, which would result in &amp;lt;code&amp;gt;1/3&amp;lt;/code&amp;gt; returning the floor &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; instead of &amp;lt;code&amp;gt;0.3333333333333333&amp;lt;/code&amp;gt;.  The second line tells Python to import everything from the visual (VPython) library for you to use.&lt;br /&gt;
&lt;br /&gt;
After these two lines, you can create objects, assign variables, do calculations, and much more.  You can also run VPython from the command line, although it may require additional setup so Python can locate the &amp;lt;code&amp;gt;visual&amp;lt;/code&amp;gt; module.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Creating VPython Objects==&lt;br /&gt;
When you create objects, it is often useful to assign them to variables so you can reference them later to either get or set values describing for example the position and size of the object.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sphere&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;particle = sphere(pos=(0,0,0), radius=4, color=color.blue)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This creates a blue sphere centered at the origin &amp;lt;0,0,0&amp;gt; with radius 4.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Arrow&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;arrowToOrigin = arrow(pos=(0,2,0), axis=(0,8,0), color=color.green)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This creates a green arrow pointing from &amp;lt;0,2,0&amp;gt; to &amp;lt;0,10,0&amp;gt;.  Note that &amp;lt;code&amp;gt;axis&amp;lt;/code&amp;gt; is always relative to the start of the arrow, not the origin &amp;lt;0,0,0&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cylinder&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;wire = cylinder(pos=(0,0,0), axis=(20,0,0), radius=1, color=color.yellow)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This creates a yellow cylinder starting at the origin &amp;lt;0,0,0&amp;gt; and extending to &amp;lt;20,0,0&amp;gt; with radius 1.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example&#039;&#039;&#039;&lt;br /&gt;
[[File:VPythonObjects.png|thumb|Result of example code]]&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
from __future__ import division&lt;br /&gt;
from visual import *&lt;br /&gt;
&lt;br /&gt;
particle = sphere(pos=(0,0,0), radius=4, color=color.blue)&lt;br /&gt;
arrowToOrigin = arrow(pos=(0,2,0), axis=(0,8,0), color=color.green)&lt;br /&gt;
wire = cylinder(pos=(0,0,0), axis=(20,0,0), radius=1, color=color.yellow)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Updating objects&#039;&#039;&#039;&lt;br /&gt;
If you assign an object to a variable (such as &amp;lt;code&amp;gt;particle&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;arrowToOrigin&amp;lt;/code&amp;gt; above) you can adjust its parameters such as its location.  For the above sphere, you can change its location to &amp;lt;-5,-5,0&amp;gt; with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;particle.pos=(-5,-5,0)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To change the axis of the above arrow to point to &amp;lt;-10,5,0&amp;gt;, use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;arrowToOrigin.axis=(-10,5,0)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To change the radius of the above cylinder to 3, use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;wire.radius=3&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example&#039;&#039;&#039;&lt;br /&gt;
[[File:VPythonObjectsChanged.png|thumb|Result of example code]]&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
from __future__ import division&lt;br /&gt;
from visual import *&lt;br /&gt;
&lt;br /&gt;
particle = sphere(pos=(0,0,0), radius=4, color=color.blue)&lt;br /&gt;
arrowToOrigin = arrow(pos=(0,2,0), axis=(0,8,0), color=color.green)&lt;br /&gt;
wire = cylinder(pos=(0,0,0), axis=(20,0,0), radius=1, color=color.yellow)&lt;br /&gt;
&lt;br /&gt;
particle.pos=(-5,-5,0)&lt;br /&gt;
arrowToOrigin.axis=(-10,5,0)&lt;br /&gt;
wire.radius=3&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Useful built-in functions==&lt;br /&gt;
&lt;br /&gt;
VPython includes various functions that can make your calculations much easier.  The following functions simplify mathematical operations on vectors and will come in handy very often.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cross-multiply two vectors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cross(vectorA, vectorB)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Magnitude of a vector&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;mag(vector)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Square of the Magnitude of a vector&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;mag2(vector)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Unit vector of a vector&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;norm(vector)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==VPython Operators==&lt;br /&gt;
&lt;br /&gt;
===Mathematical Operators===&lt;br /&gt;
1) #  comment out a line&lt;br /&gt;
2) + - * /   addition, subtraction, multiplication, division&lt;br /&gt;
3) ** exponential&lt;br /&gt;
4) % modulus or remainder&lt;br /&gt;
&lt;br /&gt;
===Logical Operators===&lt;br /&gt;
\==&lt;br /&gt;
&lt;br /&gt;
==Connectedness==&lt;br /&gt;
&lt;br /&gt;
I am very interested in programming.  I have used Python for years, so translating Physics problems into VPython code is a great way to cement the fundamental ideas in my mind.&lt;br /&gt;
&lt;br /&gt;
VPython is a great tool to bridge the worlds of Computer Science and Physics.  Many of the calculations required to model a physical object would be tedious if done by hand.  Yet with often a few lines of code, this work can be reduced to almost nothing.&lt;br /&gt;
&lt;br /&gt;
NASA has published [http://gcmd.gsfc.nasa.gov/KeywordSearch/Metadata.do?Portal=GCMD&amp;amp;MetadataType=1&amp;amp;MetadataView=Full&amp;amp;KeywordPath=&amp;amp;EntryId=3-D_ES-Models VPython models].  However, VPython is still primarily used in an educational context.&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
&lt;br /&gt;
VPython was originally released in 2000 by David Scherer after he took an introductory physics class at Carnegie Mellon University.  At the time, the school used the cT programming language for 2D modeling, and David saw the need for something better.  Working with several people including professors Ruth Chabay and Bruce Sherwood, he developed a Python module called Visual.  Visual Python or VPython featured 3D modeling, as well as an easier-to-understand object-oriented syntax.  Beginning in 2002, the National Science Foundation had awarded $292,286.00 as of December 2015 for the further development of this tool.  VPython is released under an Open Source license, and development continues today.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
If you have never used Python, the [[VPython_basics| VPython Basics]] wiki page has information for getting started with Python programming.&lt;br /&gt;
&lt;br /&gt;
===Further reading===&lt;br /&gt;
&lt;br /&gt;
Aiken, John M (2013). &#039;&#039;Transforming High School Physics With Modeling And Computation&#039;&#039;. Georgia State University.&lt;br /&gt;
&lt;br /&gt;
===External links===&lt;br /&gt;
&lt;br /&gt;
[http://www.wired.com/2015/08/coding-physics-course/ You Should Be Coding in Your Physics Course]&lt;br /&gt;
&lt;br /&gt;
[http://vpython.wikidot.com/ VPython Wiki Site]&lt;br /&gt;
&lt;br /&gt;
[https://groups.google.com/forum/#!forum/vpython-users VPython user group]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
This section contains the the references you used while writing this page&lt;br /&gt;
&lt;br /&gt;
[http://vpython.org/contents/cTsource/cToverview.html The cT Programming Language]&lt;br /&gt;
&lt;br /&gt;
[https://wiki.python.org/moin/VPython/ VPython - Python Wiki]&lt;br /&gt;
&lt;br /&gt;
[http://www.nsf.gov/awardsearch/showAward?AWD_ID=0237132 VPython NSF Award]&lt;br /&gt;
&lt;br /&gt;
[[Category:VPython]]&lt;/div&gt;</summary>
		<author><name>Scmcn22</name></author>
	</entry>
	<entry>
		<id>http://www.physicsbook.gatech.edu/index.php?title=VPython&amp;diff=27610</id>
		<title>VPython</title>
		<link rel="alternate" type="text/html" href="http://www.physicsbook.gatech.edu/index.php?title=VPython&amp;diff=27610"/>
		<updated>2017-04-07T22:16:56Z</updated>

		<summary type="html">&lt;p&gt;Scmcn22: /* Mathematical Operators */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Claimed by Scott McNeill&lt;br /&gt;
&lt;br /&gt;
VPython is a Python graphics module used for modeling objects in 3-dimensional space.  In the field of physics, this is especially useful for calculating and modeling complex relationships between objects and their properties.&lt;br /&gt;
&lt;br /&gt;
[[File:VPythonMagneticForceAnimated.gif|thumb|VPython modeling the magnetic force on a moving particle]]&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
&lt;br /&gt;
VPython is compatible with Windows, OSX, and Linux.  While there is an older VPython version available that supports Python 3, the Georgia Tech physics courses use Python 2 syntax so it is recommended to install the latest version of VPython as outlined below.&lt;br /&gt;
&lt;br /&gt;
===Windows===&lt;br /&gt;
[[File:VPythonWindows.png|thumb|VPython running in Windows 7]]&lt;br /&gt;
&lt;br /&gt;
1. Install [http://python.org/ftp/python/2.7.9/python-2.7.9.amd64.msi Python-2.7].&lt;br /&gt;
&lt;br /&gt;
2. Download and install VPython from [http://sourceforge.net/projects/vpythonwx/files/6.11-release/VPython-Win-64-Py2.7-6.11.exe/download Sourceforge].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To troubleshoot any installation issues, look at the extensive [http://vpython.org/contents/download_windows.html VPython Windows installation guide].&lt;br /&gt;
&lt;br /&gt;
===OSX===&lt;br /&gt;
[[File:VPythonOSX.png|thumb|VPython running in OSX 10.10]]&lt;br /&gt;
&lt;br /&gt;
1. Install [https://www.python.org/ftp/python/2.7.9/python-2.7.9-macosx10.6.pkg Python-2.7].  This is required as the version of Python that Apple provides is not compatible.&lt;br /&gt;
&lt;br /&gt;
2. Download and install the VPython package from [http://sourceforge.net/projects/vpythonwx/files/6.11-release/VPython-Mac-Py2.7-6.11.dmg/download Sourceforge].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To troubleshoot installation issues, see the extensive [http://vpython.org/contents/download_mac.html VPython Mac installation guide].&lt;br /&gt;
&lt;br /&gt;
===GNU/Linux===&lt;br /&gt;
[[File:VPythonUbuntu.png|thumb|VPython running in Ubuntu 15.04+]]&lt;br /&gt;
&lt;br /&gt;
Some Linux distributions include VPython in their repositories.  For example, to install VPython in Ubuntu 15.04:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get install python-visual&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If your Linux distribution&#039;s repository does not have the latest version of VPython, you can run the Windows version using [https://www.winehq.org/ Wine].  The [http://vpython.org/contents/download_linux.html VPython Linux installation guide] contains detailed instructions.&lt;br /&gt;
&lt;br /&gt;
===Glowscript===&lt;br /&gt;
&lt;br /&gt;
Another useful method of using Vpython can be found at http://www.glowscript.org/. At this website, a user can make an account and have a script up and running within minutes on a web browser without having to deal with downloading any software or worrying about compatibility. Only downside is that it can be tricky to save the code for submitting to Webassign.&lt;br /&gt;
&lt;br /&gt;
==Getting started with VPython==&lt;br /&gt;
The easiest way to use VPython is with VIDLE.  VIDLE is a development environment and is the most useful for editing and running code.  To start, open the VIDLE application (it may be called something like VIDLE-Py2.7).  A blank file should open.  Type the following two lines in:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;from __future__ import division&lt;br /&gt;
&lt;br /&gt;
from visual import *&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first line tells Python to not use integer division, which would result in &amp;lt;code&amp;gt;1/3&amp;lt;/code&amp;gt; returning the floor &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; instead of &amp;lt;code&amp;gt;0.3333333333333333&amp;lt;/code&amp;gt;.  The second line tells Python to import everything from the visual (VPython) library for you to use.&lt;br /&gt;
&lt;br /&gt;
After these two lines, you can create objects, assign variables, do calculations, and much more.  You can also run VPython from the command line, although it may require additional setup so Python can locate the &amp;lt;code&amp;gt;visual&amp;lt;/code&amp;gt; module.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Creating VPython Objects==&lt;br /&gt;
When you create objects, it is often useful to assign them to variables so you can reference them later to either get or set values describing for example the position and size of the object.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sphere&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;particle = sphere(pos=(0,0,0), radius=4, color=color.blue)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This creates a blue sphere centered at the origin &amp;lt;0,0,0&amp;gt; with radius 4.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Arrow&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;arrowToOrigin = arrow(pos=(0,2,0), axis=(0,8,0), color=color.green)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This creates a green arrow pointing from &amp;lt;0,2,0&amp;gt; to &amp;lt;0,10,0&amp;gt;.  Note that &amp;lt;code&amp;gt;axis&amp;lt;/code&amp;gt; is always relative to the start of the arrow, not the origin &amp;lt;0,0,0&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cylinder&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;wire = cylinder(pos=(0,0,0), axis=(20,0,0), radius=1, color=color.yellow)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This creates a yellow cylinder starting at the origin &amp;lt;0,0,0&amp;gt; and extending to &amp;lt;20,0,0&amp;gt; with radius 1.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example&#039;&#039;&#039;&lt;br /&gt;
[[File:VPythonObjects.png|thumb|Result of example code]]&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
from __future__ import division&lt;br /&gt;
from visual import *&lt;br /&gt;
&lt;br /&gt;
particle = sphere(pos=(0,0,0), radius=4, color=color.blue)&lt;br /&gt;
arrowToOrigin = arrow(pos=(0,2,0), axis=(0,8,0), color=color.green)&lt;br /&gt;
wire = cylinder(pos=(0,0,0), axis=(20,0,0), radius=1, color=color.yellow)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Updating objects&#039;&#039;&#039;&lt;br /&gt;
If you assign an object to a variable (such as &amp;lt;code&amp;gt;particle&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;arrowToOrigin&amp;lt;/code&amp;gt; above) you can adjust its parameters such as its location.  For the above sphere, you can change its location to &amp;lt;-5,-5,0&amp;gt; with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;particle.pos=(-5,-5,0)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To change the axis of the above arrow to point to &amp;lt;-10,5,0&amp;gt;, use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;arrowToOrigin.axis=(-10,5,0)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To change the radius of the above cylinder to 3, use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;wire.radius=3&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example&#039;&#039;&#039;&lt;br /&gt;
[[File:VPythonObjectsChanged.png|thumb|Result of example code]]&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
from __future__ import division&lt;br /&gt;
from visual import *&lt;br /&gt;
&lt;br /&gt;
particle = sphere(pos=(0,0,0), radius=4, color=color.blue)&lt;br /&gt;
arrowToOrigin = arrow(pos=(0,2,0), axis=(0,8,0), color=color.green)&lt;br /&gt;
wire = cylinder(pos=(0,0,0), axis=(20,0,0), radius=1, color=color.yellow)&lt;br /&gt;
&lt;br /&gt;
particle.pos=(-5,-5,0)&lt;br /&gt;
arrowToOrigin.axis=(-10,5,0)&lt;br /&gt;
wire.radius=3&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Useful built-in functions==&lt;br /&gt;
&lt;br /&gt;
VPython includes various functions that can make your calculations much easier.  The following functions simplify mathematical operations on vectors and will come in handy very often.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cross-multiply two vectors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cross(vectorA, vectorB)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Magnitude of a vector&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;mag(vector)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Square of the Magnitude of a vector&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;mag2(vector)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Unit vector of a vector&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;norm(vector)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==VPython Operators==&lt;br /&gt;
&lt;br /&gt;
===Mathematical Operators===&lt;br /&gt;
1. #  comment out a line&lt;br /&gt;
2. + - * /   addition, subtraction, multiplication, division&lt;br /&gt;
3. ** exponential&lt;br /&gt;
4. % modulus or remainder&lt;br /&gt;
&lt;br /&gt;
===Logical Operators===&lt;br /&gt;
\==&lt;br /&gt;
&lt;br /&gt;
==Connectedness==&lt;br /&gt;
&lt;br /&gt;
I am very interested in programming.  I have used Python for years, so translating Physics problems into VPython code is a great way to cement the fundamental ideas in my mind.&lt;br /&gt;
&lt;br /&gt;
VPython is a great tool to bridge the worlds of Computer Science and Physics.  Many of the calculations required to model a physical object would be tedious if done by hand.  Yet with often a few lines of code, this work can be reduced to almost nothing.&lt;br /&gt;
&lt;br /&gt;
NASA has published [http://gcmd.gsfc.nasa.gov/KeywordSearch/Metadata.do?Portal=GCMD&amp;amp;MetadataType=1&amp;amp;MetadataView=Full&amp;amp;KeywordPath=&amp;amp;EntryId=3-D_ES-Models VPython models].  However, VPython is still primarily used in an educational context.&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
&lt;br /&gt;
VPython was originally released in 2000 by David Scherer after he took an introductory physics class at Carnegie Mellon University.  At the time, the school used the cT programming language for 2D modeling, and David saw the need for something better.  Working with several people including professors Ruth Chabay and Bruce Sherwood, he developed a Python module called Visual.  Visual Python or VPython featured 3D modeling, as well as an easier-to-understand object-oriented syntax.  Beginning in 2002, the National Science Foundation had awarded $292,286.00 as of December 2015 for the further development of this tool.  VPython is released under an Open Source license, and development continues today.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
If you have never used Python, the [[VPython_basics| VPython Basics]] wiki page has information for getting started with Python programming.&lt;br /&gt;
&lt;br /&gt;
===Further reading===&lt;br /&gt;
&lt;br /&gt;
Aiken, John M (2013). &#039;&#039;Transforming High School Physics With Modeling And Computation&#039;&#039;. Georgia State University.&lt;br /&gt;
&lt;br /&gt;
===External links===&lt;br /&gt;
&lt;br /&gt;
[http://www.wired.com/2015/08/coding-physics-course/ You Should Be Coding in Your Physics Course]&lt;br /&gt;
&lt;br /&gt;
[http://vpython.wikidot.com/ VPython Wiki Site]&lt;br /&gt;
&lt;br /&gt;
[https://groups.google.com/forum/#!forum/vpython-users VPython user group]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
This section contains the the references you used while writing this page&lt;br /&gt;
&lt;br /&gt;
[http://vpython.org/contents/cTsource/cToverview.html The cT Programming Language]&lt;br /&gt;
&lt;br /&gt;
[https://wiki.python.org/moin/VPython/ VPython - Python Wiki]&lt;br /&gt;
&lt;br /&gt;
[http://www.nsf.gov/awardsearch/showAward?AWD_ID=0237132 VPython NSF Award]&lt;br /&gt;
&lt;br /&gt;
[[Category:VPython]]&lt;/div&gt;</summary>
		<author><name>Scmcn22</name></author>
	</entry>
	<entry>
		<id>http://www.physicsbook.gatech.edu/index.php?title=VPython&amp;diff=27609</id>
		<title>VPython</title>
		<link rel="alternate" type="text/html" href="http://www.physicsbook.gatech.edu/index.php?title=VPython&amp;diff=27609"/>
		<updated>2017-04-07T22:16:14Z</updated>

		<summary type="html">&lt;p&gt;Scmcn22: /* VPython Operators */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Claimed by Scott McNeill&lt;br /&gt;
&lt;br /&gt;
VPython is a Python graphics module used for modeling objects in 3-dimensional space.  In the field of physics, this is especially useful for calculating and modeling complex relationships between objects and their properties.&lt;br /&gt;
&lt;br /&gt;
[[File:VPythonMagneticForceAnimated.gif|thumb|VPython modeling the magnetic force on a moving particle]]&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
&lt;br /&gt;
VPython is compatible with Windows, OSX, and Linux.  While there is an older VPython version available that supports Python 3, the Georgia Tech physics courses use Python 2 syntax so it is recommended to install the latest version of VPython as outlined below.&lt;br /&gt;
&lt;br /&gt;
===Windows===&lt;br /&gt;
[[File:VPythonWindows.png|thumb|VPython running in Windows 7]]&lt;br /&gt;
&lt;br /&gt;
1. Install [http://python.org/ftp/python/2.7.9/python-2.7.9.amd64.msi Python-2.7].&lt;br /&gt;
&lt;br /&gt;
2. Download and install VPython from [http://sourceforge.net/projects/vpythonwx/files/6.11-release/VPython-Win-64-Py2.7-6.11.exe/download Sourceforge].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To troubleshoot any installation issues, look at the extensive [http://vpython.org/contents/download_windows.html VPython Windows installation guide].&lt;br /&gt;
&lt;br /&gt;
===OSX===&lt;br /&gt;
[[File:VPythonOSX.png|thumb|VPython running in OSX 10.10]]&lt;br /&gt;
&lt;br /&gt;
1. Install [https://www.python.org/ftp/python/2.7.9/python-2.7.9-macosx10.6.pkg Python-2.7].  This is required as the version of Python that Apple provides is not compatible.&lt;br /&gt;
&lt;br /&gt;
2. Download and install the VPython package from [http://sourceforge.net/projects/vpythonwx/files/6.11-release/VPython-Mac-Py2.7-6.11.dmg/download Sourceforge].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To troubleshoot installation issues, see the extensive [http://vpython.org/contents/download_mac.html VPython Mac installation guide].&lt;br /&gt;
&lt;br /&gt;
===GNU/Linux===&lt;br /&gt;
[[File:VPythonUbuntu.png|thumb|VPython running in Ubuntu 15.04+]]&lt;br /&gt;
&lt;br /&gt;
Some Linux distributions include VPython in their repositories.  For example, to install VPython in Ubuntu 15.04:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get install python-visual&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If your Linux distribution&#039;s repository does not have the latest version of VPython, you can run the Windows version using [https://www.winehq.org/ Wine].  The [http://vpython.org/contents/download_linux.html VPython Linux installation guide] contains detailed instructions.&lt;br /&gt;
&lt;br /&gt;
===Glowscript===&lt;br /&gt;
&lt;br /&gt;
Another useful method of using Vpython can be found at http://www.glowscript.org/. At this website, a user can make an account and have a script up and running within minutes on a web browser without having to deal with downloading any software or worrying about compatibility. Only downside is that it can be tricky to save the code for submitting to Webassign.&lt;br /&gt;
&lt;br /&gt;
==Getting started with VPython==&lt;br /&gt;
The easiest way to use VPython is with VIDLE.  VIDLE is a development environment and is the most useful for editing and running code.  To start, open the VIDLE application (it may be called something like VIDLE-Py2.7).  A blank file should open.  Type the following two lines in:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;from __future__ import division&lt;br /&gt;
&lt;br /&gt;
from visual import *&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first line tells Python to not use integer division, which would result in &amp;lt;code&amp;gt;1/3&amp;lt;/code&amp;gt; returning the floor &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; instead of &amp;lt;code&amp;gt;0.3333333333333333&amp;lt;/code&amp;gt;.  The second line tells Python to import everything from the visual (VPython) library for you to use.&lt;br /&gt;
&lt;br /&gt;
After these two lines, you can create objects, assign variables, do calculations, and much more.  You can also run VPython from the command line, although it may require additional setup so Python can locate the &amp;lt;code&amp;gt;visual&amp;lt;/code&amp;gt; module.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Creating VPython Objects==&lt;br /&gt;
When you create objects, it is often useful to assign them to variables so you can reference them later to either get or set values describing for example the position and size of the object.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sphere&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;particle = sphere(pos=(0,0,0), radius=4, color=color.blue)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This creates a blue sphere centered at the origin &amp;lt;0,0,0&amp;gt; with radius 4.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Arrow&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;arrowToOrigin = arrow(pos=(0,2,0), axis=(0,8,0), color=color.green)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This creates a green arrow pointing from &amp;lt;0,2,0&amp;gt; to &amp;lt;0,10,0&amp;gt;.  Note that &amp;lt;code&amp;gt;axis&amp;lt;/code&amp;gt; is always relative to the start of the arrow, not the origin &amp;lt;0,0,0&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cylinder&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;wire = cylinder(pos=(0,0,0), axis=(20,0,0), radius=1, color=color.yellow)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This creates a yellow cylinder starting at the origin &amp;lt;0,0,0&amp;gt; and extending to &amp;lt;20,0,0&amp;gt; with radius 1.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example&#039;&#039;&#039;&lt;br /&gt;
[[File:VPythonObjects.png|thumb|Result of example code]]&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
from __future__ import division&lt;br /&gt;
from visual import *&lt;br /&gt;
&lt;br /&gt;
particle = sphere(pos=(0,0,0), radius=4, color=color.blue)&lt;br /&gt;
arrowToOrigin = arrow(pos=(0,2,0), axis=(0,8,0), color=color.green)&lt;br /&gt;
wire = cylinder(pos=(0,0,0), axis=(20,0,0), radius=1, color=color.yellow)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Updating objects&#039;&#039;&#039;&lt;br /&gt;
If you assign an object to a variable (such as &amp;lt;code&amp;gt;particle&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;arrowToOrigin&amp;lt;/code&amp;gt; above) you can adjust its parameters such as its location.  For the above sphere, you can change its location to &amp;lt;-5,-5,0&amp;gt; with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;particle.pos=(-5,-5,0)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To change the axis of the above arrow to point to &amp;lt;-10,5,0&amp;gt;, use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;arrowToOrigin.axis=(-10,5,0)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To change the radius of the above cylinder to 3, use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;wire.radius=3&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example&#039;&#039;&#039;&lt;br /&gt;
[[File:VPythonObjectsChanged.png|thumb|Result of example code]]&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
from __future__ import division&lt;br /&gt;
from visual import *&lt;br /&gt;
&lt;br /&gt;
particle = sphere(pos=(0,0,0), radius=4, color=color.blue)&lt;br /&gt;
arrowToOrigin = arrow(pos=(0,2,0), axis=(0,8,0), color=color.green)&lt;br /&gt;
wire = cylinder(pos=(0,0,0), axis=(20,0,0), radius=1, color=color.yellow)&lt;br /&gt;
&lt;br /&gt;
particle.pos=(-5,-5,0)&lt;br /&gt;
arrowToOrigin.axis=(-10,5,0)&lt;br /&gt;
wire.radius=3&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Useful built-in functions==&lt;br /&gt;
&lt;br /&gt;
VPython includes various functions that can make your calculations much easier.  The following functions simplify mathematical operations on vectors and will come in handy very often.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cross-multiply two vectors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cross(vectorA, vectorB)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Magnitude of a vector&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;mag(vector)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Square of the Magnitude of a vector&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;mag2(vector)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Unit vector of a vector&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;norm(vector)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==VPython Operators==&lt;br /&gt;
&lt;br /&gt;
===Mathematical Operators===&lt;br /&gt;
#  comment out a line&lt;br /&gt;
+ - * /   addition, subtraction, multiplication, division&lt;br /&gt;
** exponential&lt;br /&gt;
% modulus or remainder&lt;br /&gt;
&lt;br /&gt;
===Logical Operators===&lt;br /&gt;
\==&lt;br /&gt;
&lt;br /&gt;
==Connectedness==&lt;br /&gt;
&lt;br /&gt;
I am very interested in programming.  I have used Python for years, so translating Physics problems into VPython code is a great way to cement the fundamental ideas in my mind.&lt;br /&gt;
&lt;br /&gt;
VPython is a great tool to bridge the worlds of Computer Science and Physics.  Many of the calculations required to model a physical object would be tedious if done by hand.  Yet with often a few lines of code, this work can be reduced to almost nothing.&lt;br /&gt;
&lt;br /&gt;
NASA has published [http://gcmd.gsfc.nasa.gov/KeywordSearch/Metadata.do?Portal=GCMD&amp;amp;MetadataType=1&amp;amp;MetadataView=Full&amp;amp;KeywordPath=&amp;amp;EntryId=3-D_ES-Models VPython models].  However, VPython is still primarily used in an educational context.&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
&lt;br /&gt;
VPython was originally released in 2000 by David Scherer after he took an introductory physics class at Carnegie Mellon University.  At the time, the school used the cT programming language for 2D modeling, and David saw the need for something better.  Working with several people including professors Ruth Chabay and Bruce Sherwood, he developed a Python module called Visual.  Visual Python or VPython featured 3D modeling, as well as an easier-to-understand object-oriented syntax.  Beginning in 2002, the National Science Foundation had awarded $292,286.00 as of December 2015 for the further development of this tool.  VPython is released under an Open Source license, and development continues today.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
If you have never used Python, the [[VPython_basics| VPython Basics]] wiki page has information for getting started with Python programming.&lt;br /&gt;
&lt;br /&gt;
===Further reading===&lt;br /&gt;
&lt;br /&gt;
Aiken, John M (2013). &#039;&#039;Transforming High School Physics With Modeling And Computation&#039;&#039;. Georgia State University.&lt;br /&gt;
&lt;br /&gt;
===External links===&lt;br /&gt;
&lt;br /&gt;
[http://www.wired.com/2015/08/coding-physics-course/ You Should Be Coding in Your Physics Course]&lt;br /&gt;
&lt;br /&gt;
[http://vpython.wikidot.com/ VPython Wiki Site]&lt;br /&gt;
&lt;br /&gt;
[https://groups.google.com/forum/#!forum/vpython-users VPython user group]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
This section contains the the references you used while writing this page&lt;br /&gt;
&lt;br /&gt;
[http://vpython.org/contents/cTsource/cToverview.html The cT Programming Language]&lt;br /&gt;
&lt;br /&gt;
[https://wiki.python.org/moin/VPython/ VPython - Python Wiki]&lt;br /&gt;
&lt;br /&gt;
[http://www.nsf.gov/awardsearch/showAward?AWD_ID=0237132 VPython NSF Award]&lt;br /&gt;
&lt;br /&gt;
[[Category:VPython]]&lt;/div&gt;</summary>
		<author><name>Scmcn22</name></author>
	</entry>
	<entry>
		<id>http://www.physicsbook.gatech.edu/index.php?title=VPython&amp;diff=27607</id>
		<title>VPython</title>
		<link rel="alternate" type="text/html" href="http://www.physicsbook.gatech.edu/index.php?title=VPython&amp;diff=27607"/>
		<updated>2017-04-07T22:07:14Z</updated>

		<summary type="html">&lt;p&gt;Scmcn22: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Claimed by Scott McNeill&lt;br /&gt;
&lt;br /&gt;
VPython is a Python graphics module used for modeling objects in 3-dimensional space.  In the field of physics, this is especially useful for calculating and modeling complex relationships between objects and their properties.&lt;br /&gt;
&lt;br /&gt;
[[File:VPythonMagneticForceAnimated.gif|thumb|VPython modeling the magnetic force on a moving particle]]&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
&lt;br /&gt;
VPython is compatible with Windows, OSX, and Linux.  While there is an older VPython version available that supports Python 3, the Georgia Tech physics courses use Python 2 syntax so it is recommended to install the latest version of VPython as outlined below.&lt;br /&gt;
&lt;br /&gt;
===Windows===&lt;br /&gt;
[[File:VPythonWindows.png|thumb|VPython running in Windows 7]]&lt;br /&gt;
&lt;br /&gt;
1. Install [http://python.org/ftp/python/2.7.9/python-2.7.9.amd64.msi Python-2.7].&lt;br /&gt;
&lt;br /&gt;
2. Download and install VPython from [http://sourceforge.net/projects/vpythonwx/files/6.11-release/VPython-Win-64-Py2.7-6.11.exe/download Sourceforge].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To troubleshoot any installation issues, look at the extensive [http://vpython.org/contents/download_windows.html VPython Windows installation guide].&lt;br /&gt;
&lt;br /&gt;
===OSX===&lt;br /&gt;
[[File:VPythonOSX.png|thumb|VPython running in OSX 10.10]]&lt;br /&gt;
&lt;br /&gt;
1. Install [https://www.python.org/ftp/python/2.7.9/python-2.7.9-macosx10.6.pkg Python-2.7].  This is required as the version of Python that Apple provides is not compatible.&lt;br /&gt;
&lt;br /&gt;
2. Download and install the VPython package from [http://sourceforge.net/projects/vpythonwx/files/6.11-release/VPython-Mac-Py2.7-6.11.dmg/download Sourceforge].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To troubleshoot installation issues, see the extensive [http://vpython.org/contents/download_mac.html VPython Mac installation guide].&lt;br /&gt;
&lt;br /&gt;
===GNU/Linux===&lt;br /&gt;
[[File:VPythonUbuntu.png|thumb|VPython running in Ubuntu 15.04+]]&lt;br /&gt;
&lt;br /&gt;
Some Linux distributions include VPython in their repositories.  For example, to install VPython in Ubuntu 15.04:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get install python-visual&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If your Linux distribution&#039;s repository does not have the latest version of VPython, you can run the Windows version using [https://www.winehq.org/ Wine].  The [http://vpython.org/contents/download_linux.html VPython Linux installation guide] contains detailed instructions.&lt;br /&gt;
&lt;br /&gt;
===Glowscript===&lt;br /&gt;
&lt;br /&gt;
Another useful method of using Vpython can be found at http://www.glowscript.org/. At this website, a user can make an account and have a script up and running within minutes on a web browser without having to deal with downloading any software or worrying about compatibility. Only downside is that it can be tricky to save the code for submitting to Webassign.&lt;br /&gt;
&lt;br /&gt;
==Getting started with VPython==&lt;br /&gt;
The easiest way to use VPython is with VIDLE.  VIDLE is a development environment and is the most useful for editing and running code.  To start, open the VIDLE application (it may be called something like VIDLE-Py2.7).  A blank file should open.  Type the following two lines in:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;from __future__ import division&lt;br /&gt;
&lt;br /&gt;
from visual import *&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first line tells Python to not use integer division, which would result in &amp;lt;code&amp;gt;1/3&amp;lt;/code&amp;gt; returning the floor &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; instead of &amp;lt;code&amp;gt;0.3333333333333333&amp;lt;/code&amp;gt;.  The second line tells Python to import everything from the visual (VPython) library for you to use.&lt;br /&gt;
&lt;br /&gt;
After these two lines, you can create objects, assign variables, do calculations, and much more.  You can also run VPython from the command line, although it may require additional setup so Python can locate the &amp;lt;code&amp;gt;visual&amp;lt;/code&amp;gt; module.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Creating VPython Objects==&lt;br /&gt;
When you create objects, it is often useful to assign them to variables so you can reference them later to either get or set values describing for example the position and size of the object.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sphere&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;particle = sphere(pos=(0,0,0), radius=4, color=color.blue)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This creates a blue sphere centered at the origin &amp;lt;0,0,0&amp;gt; with radius 4.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Arrow&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;arrowToOrigin = arrow(pos=(0,2,0), axis=(0,8,0), color=color.green)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This creates a green arrow pointing from &amp;lt;0,2,0&amp;gt; to &amp;lt;0,10,0&amp;gt;.  Note that &amp;lt;code&amp;gt;axis&amp;lt;/code&amp;gt; is always relative to the start of the arrow, not the origin &amp;lt;0,0,0&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cylinder&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;wire = cylinder(pos=(0,0,0), axis=(20,0,0), radius=1, color=color.yellow)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This creates a yellow cylinder starting at the origin &amp;lt;0,0,0&amp;gt; and extending to &amp;lt;20,0,0&amp;gt; with radius 1.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example&#039;&#039;&#039;&lt;br /&gt;
[[File:VPythonObjects.png|thumb|Result of example code]]&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
from __future__ import division&lt;br /&gt;
from visual import *&lt;br /&gt;
&lt;br /&gt;
particle = sphere(pos=(0,0,0), radius=4, color=color.blue)&lt;br /&gt;
arrowToOrigin = arrow(pos=(0,2,0), axis=(0,8,0), color=color.green)&lt;br /&gt;
wire = cylinder(pos=(0,0,0), axis=(20,0,0), radius=1, color=color.yellow)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Updating objects&#039;&#039;&#039;&lt;br /&gt;
If you assign an object to a variable (such as &amp;lt;code&amp;gt;particle&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;arrowToOrigin&amp;lt;/code&amp;gt; above) you can adjust its parameters such as its location.  For the above sphere, you can change its location to &amp;lt;-5,-5,0&amp;gt; with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;particle.pos=(-5,-5,0)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To change the axis of the above arrow to point to &amp;lt;-10,5,0&amp;gt;, use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;arrowToOrigin.axis=(-10,5,0)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To change the radius of the above cylinder to 3, use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;wire.radius=3&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example&#039;&#039;&#039;&lt;br /&gt;
[[File:VPythonObjectsChanged.png|thumb|Result of example code]]&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
from __future__ import division&lt;br /&gt;
from visual import *&lt;br /&gt;
&lt;br /&gt;
particle = sphere(pos=(0,0,0), radius=4, color=color.blue)&lt;br /&gt;
arrowToOrigin = arrow(pos=(0,2,0), axis=(0,8,0), color=color.green)&lt;br /&gt;
wire = cylinder(pos=(0,0,0), axis=(20,0,0), radius=1, color=color.yellow)&lt;br /&gt;
&lt;br /&gt;
particle.pos=(-5,-5,0)&lt;br /&gt;
arrowToOrigin.axis=(-10,5,0)&lt;br /&gt;
wire.radius=3&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Useful built-in functions==&lt;br /&gt;
&lt;br /&gt;
VPython includes various functions that can make your calculations much easier.  The following functions simplify mathematical operations on vectors and will come in handy very often.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cross-multiply two vectors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cross(vectorA, vectorB)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Magnitude of a vector&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;mag(vector)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Square of the Magnitude of a vector&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;mag2(vector)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Unit vector of a vector&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;norm(vector)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==VPython Operators==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Connectedness==&lt;br /&gt;
&lt;br /&gt;
I am very interested in programming.  I have used Python for years, so translating Physics problems into VPython code is a great way to cement the fundamental ideas in my mind.&lt;br /&gt;
&lt;br /&gt;
VPython is a great tool to bridge the worlds of Computer Science and Physics.  Many of the calculations required to model a physical object would be tedious if done by hand.  Yet with often a few lines of code, this work can be reduced to almost nothing.&lt;br /&gt;
&lt;br /&gt;
NASA has published [http://gcmd.gsfc.nasa.gov/KeywordSearch/Metadata.do?Portal=GCMD&amp;amp;MetadataType=1&amp;amp;MetadataView=Full&amp;amp;KeywordPath=&amp;amp;EntryId=3-D_ES-Models VPython models].  However, VPython is still primarily used in an educational context.&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
&lt;br /&gt;
VPython was originally released in 2000 by David Scherer after he took an introductory physics class at Carnegie Mellon University.  At the time, the school used the cT programming language for 2D modeling, and David saw the need for something better.  Working with several people including professors Ruth Chabay and Bruce Sherwood, he developed a Python module called Visual.  Visual Python or VPython featured 3D modeling, as well as an easier-to-understand object-oriented syntax.  Beginning in 2002, the National Science Foundation had awarded $292,286.00 as of December 2015 for the further development of this tool.  VPython is released under an Open Source license, and development continues today.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
If you have never used Python, the [[VPython_basics| VPython Basics]] wiki page has information for getting started with Python programming.&lt;br /&gt;
&lt;br /&gt;
===Further reading===&lt;br /&gt;
&lt;br /&gt;
Aiken, John M (2013). &#039;&#039;Transforming High School Physics With Modeling And Computation&#039;&#039;. Georgia State University.&lt;br /&gt;
&lt;br /&gt;
===External links===&lt;br /&gt;
&lt;br /&gt;
[http://www.wired.com/2015/08/coding-physics-course/ You Should Be Coding in Your Physics Course]&lt;br /&gt;
&lt;br /&gt;
[http://vpython.wikidot.com/ VPython Wiki Site]&lt;br /&gt;
&lt;br /&gt;
[https://groups.google.com/forum/#!forum/vpython-users VPython user group]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
This section contains the the references you used while writing this page&lt;br /&gt;
&lt;br /&gt;
[http://vpython.org/contents/cTsource/cToverview.html The cT Programming Language]&lt;br /&gt;
&lt;br /&gt;
[https://wiki.python.org/moin/VPython/ VPython - Python Wiki]&lt;br /&gt;
&lt;br /&gt;
[http://www.nsf.gov/awardsearch/showAward?AWD_ID=0237132 VPython NSF Award]&lt;br /&gt;
&lt;br /&gt;
[[Category:VPython]]&lt;/div&gt;</summary>
		<author><name>Scmcn22</name></author>
	</entry>
	<entry>
		<id>http://www.physicsbook.gatech.edu/index.php?title=VPython&amp;diff=27605</id>
		<title>VPython</title>
		<link rel="alternate" type="text/html" href="http://www.physicsbook.gatech.edu/index.php?title=VPython&amp;diff=27605"/>
		<updated>2017-04-07T21:56:14Z</updated>

		<summary type="html">&lt;p&gt;Scmcn22: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Claimed by Scott McNeill&lt;br /&gt;
&lt;br /&gt;
VPython is a Python graphics module used for modeling objects in 3-dimensional space.  In the field of physics, this is especially useful for calculating and modeling complex relationships between objects and their properties.&lt;br /&gt;
&lt;br /&gt;
[[File:VPythonMagneticForceAnimated.gif|thumb|VPython modeling the magnetic force on a moving particle]]&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
&lt;br /&gt;
VPython is compatible with Windows, OSX, and Linux.  While there is an older VPython version available that supports Python 3, the Georgia Tech physics courses use Python 2 syntax so it is recommended to install the latest version of VPython as outlined below.&lt;br /&gt;
&lt;br /&gt;
===Windows===&lt;br /&gt;
[[File:VPythonWindows.png|thumb|VPython running in Windows 7]]&lt;br /&gt;
&lt;br /&gt;
1. Install [http://python.org/ftp/python/2.7.9/python-2.7.9.amd64.msi Python-2.7].&lt;br /&gt;
&lt;br /&gt;
2. Download and install VPython from [http://sourceforge.net/projects/vpythonwx/files/6.11-release/VPython-Win-64-Py2.7-6.11.exe/download Sourceforge].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To troubleshoot any installation issues, look at the extensive [http://vpython.org/contents/download_windows.html VPython Windows installation guide].&lt;br /&gt;
&lt;br /&gt;
===OSX===&lt;br /&gt;
[[File:VPythonOSX.png|thumb|VPython running in OSX 10.10]]&lt;br /&gt;
&lt;br /&gt;
1. Install [https://www.python.org/ftp/python/2.7.9/python-2.7.9-macosx10.6.pkg Python-2.7].  This is required as the version of Python that Apple provides is not compatible.&lt;br /&gt;
&lt;br /&gt;
2. Download and install the VPython package from [http://sourceforge.net/projects/vpythonwx/files/6.11-release/VPython-Mac-Py2.7-6.11.dmg/download Sourceforge].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To troubleshoot installation issues, see the extensive [http://vpython.org/contents/download_mac.html VPython Mac installation guide].&lt;br /&gt;
&lt;br /&gt;
===GNU/Linux===&lt;br /&gt;
[[File:VPythonUbuntu.png|thumb|VPython running in Ubuntu 15.04+]]&lt;br /&gt;
&lt;br /&gt;
Some Linux distributions include VPython in their repositories.  For example, to install VPython in Ubuntu 15.04:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get install python-visual&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If your Linux distribution&#039;s repository does not have the latest version of VPython, you can run the Windows version using [https://www.winehq.org/ Wine].  The [http://vpython.org/contents/download_linux.html VPython Linux installation guide] contains detailed instructions.&lt;br /&gt;
&lt;br /&gt;
===Glowscript===&lt;br /&gt;
&lt;br /&gt;
Another useful method of using Vpython can be found at http://www.glowscript.org/. At this website, a user can make an account and have a script up and running within minutes on a web browser without having to deal with downloading any software or worrying about compatibility. Only downside is that it can be tricky to save the code for submitting to Webassign.&lt;br /&gt;
&lt;br /&gt;
==Getting started with VPython==&lt;br /&gt;
The easiest way to use VPython is with VIDLE.  VIDLE is a development environment and is the most useful for editing and running code.  To start, open the VIDLE application (it may be called something like VIDLE-Py2.7).  A blank file should open.  Type the following two lines in:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;from __future__ import division&lt;br /&gt;
&lt;br /&gt;
from visual import *&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first line tells Python to not use integer division, which would result in &amp;lt;code&amp;gt;1/3&amp;lt;/code&amp;gt; returning the floor &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; instead of &amp;lt;code&amp;gt;0.3333333333333333&amp;lt;/code&amp;gt;.  The second line tells Python to import everything from the visual (VPython) library for you to use.&lt;br /&gt;
&lt;br /&gt;
After these two lines, you can create objects, assign variables, do calculations, and much more.  You can also run VPython from the command line, although it may require additional setup so Python can locate the &amp;lt;code&amp;gt;visual&amp;lt;/code&amp;gt; module.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Creating VPython Objects==&lt;br /&gt;
When you create objects, it is often useful to assign them to variables so you can reference them later to either get or set values describing for example the position and size of the object.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sphere&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;particle = sphere(pos=(0,0,0), radius=4, color=color.blue)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This creates a blue sphere centered at the origin &amp;lt;0,0,0&amp;gt; with radius 4.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Arrow&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;arrowToOrigin = arrow(pos=(0,2,0), axis=(0,8,0), color=color.green)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This creates a green arrow pointing from &amp;lt;0,2,0&amp;gt; to &amp;lt;0,10,0&amp;gt;.  Note that &amp;lt;code&amp;gt;axis&amp;lt;/code&amp;gt; is always relative to the start of the arrow, not the origin &amp;lt;0,0,0&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cylinder&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;wire = cylinder(pos=(0,0,0), axis=(20,0,0), radius=1, color=color.yellow)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This creates a yellow cylinder starting at the origin &amp;lt;0,0,0&amp;gt; and extending to &amp;lt;20,0,0&amp;gt; with radius 1.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example&#039;&#039;&#039;&lt;br /&gt;
[[File:VPythonObjects.png|thumb|Result of example code]]&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
from __future__ import division&lt;br /&gt;
from visual import *&lt;br /&gt;
&lt;br /&gt;
particle = sphere(pos=(0,0,0), radius=4, color=color.blue)&lt;br /&gt;
arrowToOrigin = arrow(pos=(0,2,0), axis=(0,8,0), color=color.green)&lt;br /&gt;
wire = cylinder(pos=(0,0,0), axis=(20,0,0), radius=1, color=color.yellow)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Updating objects&#039;&#039;&#039;&lt;br /&gt;
If you assign an object to a variable (such as &amp;lt;code&amp;gt;particle&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;arrowToOrigin&amp;lt;/code&amp;gt; above) you can adjust its parameters such as its location.  For the above sphere, you can change its location to &amp;lt;-5,-5,0&amp;gt; with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;particle.pos=(-5,-5,0)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To change the axis of the above arrow to point to &amp;lt;-10,5,0&amp;gt;, use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;arrowToOrigin.axis=(-10,5,0)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To change the radius of the above cylinder to 3, use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;wire.radius=3&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example&#039;&#039;&#039;&lt;br /&gt;
[[File:VPythonObjectsChanged.png|thumb|Result of example code]]&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
from __future__ import division&lt;br /&gt;
from visual import *&lt;br /&gt;
&lt;br /&gt;
particle = sphere(pos=(0,0,0), radius=4, color=color.blue)&lt;br /&gt;
arrowToOrigin = arrow(pos=(0,2,0), axis=(0,8,0), color=color.green)&lt;br /&gt;
wire = cylinder(pos=(0,0,0), axis=(20,0,0), radius=1, color=color.yellow)&lt;br /&gt;
&lt;br /&gt;
particle.pos=(-5,-5,0)&lt;br /&gt;
arrowToOrigin.axis=(-10,5,0)&lt;br /&gt;
wire.radius=3&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Useful built-in functions==&lt;br /&gt;
&lt;br /&gt;
VPython includes various functions that can make your calculations much easier.  The following functions simplify mathematical operations on vectors and will come in handy very often.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cross-multiply two vectors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cross(vectorA, vectorB)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Magnitude of a vector&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;mag(vector)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Square of the Magnitude of a vector&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;mag2(vector)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Unit vector of a vector&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;norm(vector)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Connectedness==&lt;br /&gt;
&lt;br /&gt;
I am very interested in programming.  I have used Python for years, so translating Physics problems into VPython code is a great way to cement the fundamental ideas in my mind.&lt;br /&gt;
&lt;br /&gt;
VPython is a great tool to bridge the worlds of Computer Science and Physics.  Many of the calculations required to model a physical object would be tedious if done by hand.  Yet with often a few lines of code, this work can be reduced to almost nothing.&lt;br /&gt;
&lt;br /&gt;
NASA has published [http://gcmd.gsfc.nasa.gov/KeywordSearch/Metadata.do?Portal=GCMD&amp;amp;MetadataType=1&amp;amp;MetadataView=Full&amp;amp;KeywordPath=&amp;amp;EntryId=3-D_ES-Models VPython models].  However, VPython is still primarily used in an educational context.&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
&lt;br /&gt;
VPython was originally released in 2000 by David Scherer after he took an introductory physics class at Carnegie Mellon University.  At the time, the school used the cT programming language for 2D modeling, and David saw the need for something better.  Working with several people including professors Ruth Chabay and Bruce Sherwood, he developed a Python module called Visual.  Visual Python or VPython featured 3D modeling, as well as an easier-to-understand object-oriented syntax.  Beginning in 2002, the National Science Foundation had awarded $292,286.00 as of December 2015 for the further development of this tool.  VPython is released under an Open Source license, and development continues today.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
If you have never used Python, the [[VPython_basics| VPython Basics]] wiki page has information for getting started with Python programming.&lt;br /&gt;
&lt;br /&gt;
===Further reading===&lt;br /&gt;
&lt;br /&gt;
Aiken, John M (2013). &#039;&#039;Transforming High School Physics With Modeling And Computation&#039;&#039;. Georgia State University.&lt;br /&gt;
&lt;br /&gt;
===External links===&lt;br /&gt;
&lt;br /&gt;
[http://www.wired.com/2015/08/coding-physics-course/ You Should Be Coding in Your Physics Course]&lt;br /&gt;
&lt;br /&gt;
[http://vpython.wikidot.com/ VPython Wiki Site]&lt;br /&gt;
&lt;br /&gt;
[https://groups.google.com/forum/#!forum/vpython-users VPython user group]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
This section contains the the references you used while writing this page&lt;br /&gt;
&lt;br /&gt;
[http://vpython.org/contents/cTsource/cToverview.html The cT Programming Language]&lt;br /&gt;
&lt;br /&gt;
[https://wiki.python.org/moin/VPython/ VPython - Python Wiki]&lt;br /&gt;
&lt;br /&gt;
[http://www.nsf.gov/awardsearch/showAward?AWD_ID=0237132 VPython NSF Award]&lt;br /&gt;
&lt;br /&gt;
[[Category:VPython]]&lt;/div&gt;</summary>
		<author><name>Scmcn22</name></author>
	</entry>
	<entry>
		<id>http://www.physicsbook.gatech.edu/index.php?title=VPython&amp;diff=27604</id>
		<title>VPython</title>
		<link rel="alternate" type="text/html" href="http://www.physicsbook.gatech.edu/index.php?title=VPython&amp;diff=27604"/>
		<updated>2017-04-07T21:48:17Z</updated>

		<summary type="html">&lt;p&gt;Scmcn22: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Claimed by Scott McNeill&lt;br /&gt;
&lt;br /&gt;
VPython is a Python graphics module used for modeling objects in 3-dimensional space.  In the field of physics, this is especially useful for calculating and modeling complex relationships between objects and their properties.&lt;br /&gt;
&lt;br /&gt;
[[File:VPythonMagneticForceAnimated.gif|thumb|VPython modeling the magnetic force on a moving particle]]&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
&lt;br /&gt;
VPython is compatible with Windows, OSX, and Linux.  While there is an older VPython version available that supports Python 3, the Georgia Tech physics courses use Python 2 syntax so it is recommended to install the latest version of VPython as outlined below.&lt;br /&gt;
&lt;br /&gt;
===Windows===&lt;br /&gt;
[[File:VPythonWindows.png|thumb|VPython running in Windows 7]]&lt;br /&gt;
&lt;br /&gt;
1. Install [http://python.org/ftp/python/2.7.9/python-2.7.9.amd64.msi Python-2.7].&lt;br /&gt;
&lt;br /&gt;
2. Download and install VPython from [http://sourceforge.net/projects/vpythonwx/files/6.11-release/VPython-Win-64-Py2.7-6.11.exe/download Sourceforge].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To troubleshoot any installation issues, look at the extensive [http://vpython.org/contents/download_windows.html VPython Windows installation guide].&lt;br /&gt;
&lt;br /&gt;
===OSX===&lt;br /&gt;
[[File:VPythonOSX.png|thumb|VPython running in OSX 10.10]]&lt;br /&gt;
&lt;br /&gt;
1. Install [https://www.python.org/ftp/python/2.7.9/python-2.7.9-macosx10.6.pkg Python-2.7].  This is required as the version of Python that Apple provides is not compatible.&lt;br /&gt;
&lt;br /&gt;
2. Download and install the VPython package from [http://sourceforge.net/projects/vpythonwx/files/6.11-release/VPython-Mac-Py2.7-6.11.dmg/download Sourceforge].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To troubleshoot installation issues, see the extensive [http://vpython.org/contents/download_mac.html VPython Mac installation guide].&lt;br /&gt;
&lt;br /&gt;
===GNU/Linux===&lt;br /&gt;
[[File:VPythonUbuntu.png|thumb|VPython running in Ubuntu 15.04+]]&lt;br /&gt;
&lt;br /&gt;
Some Linux distributions include VPython in their repositories.  For example, to install VPython in Ubuntu 15.04:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get install python-visual&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If your Linux distribution&#039;s repository does not have the latest version of VPython, you can run the Windows version using [https://www.winehq.org/ Wine].  The [http://vpython.org/contents/download_linux.html VPython Linux installation guide] contains detailed instructions.&lt;br /&gt;
&lt;br /&gt;
==Getting started with VPython==&lt;br /&gt;
The easiest way to use VPython is with VIDLE.  VIDLE is a development environment and is the most useful for editing and running code.  To start, open the VIDLE application (it may be called something like VIDLE-Py2.7).  A blank file should open.  Type the following two lines in:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;from __future__ import division&lt;br /&gt;
&lt;br /&gt;
from visual import *&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first line tells Python to not use integer division, which would result in &amp;lt;code&amp;gt;1/3&amp;lt;/code&amp;gt; returning the floor &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; instead of &amp;lt;code&amp;gt;0.3333333333333333&amp;lt;/code&amp;gt;.  The second line tells Python to import everything from the visual (VPython) library for you to use.&lt;br /&gt;
&lt;br /&gt;
After these two lines, you can create objects, assign variables, do calculations, and much more.  You can also run VPython from the command line, although it may require additional setup so Python can locate the &amp;lt;code&amp;gt;visual&amp;lt;/code&amp;gt; module.&lt;br /&gt;
&lt;br /&gt;
==Creating VPython Objects==&lt;br /&gt;
When you create objects, it is often useful to assign them to variables so you can reference them later to either get or set values describing for example the position and size of the object.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sphere&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;particle = sphere(pos=(0,0,0), radius=4, color=color.blue)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This creates a blue sphere centered at the origin &amp;lt;0,0,0&amp;gt; with radius 4.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Arrow&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;arrowToOrigin = arrow(pos=(0,2,0), axis=(0,8,0), color=color.green)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This creates a green arrow pointing from &amp;lt;0,2,0&amp;gt; to &amp;lt;0,10,0&amp;gt;.  Note that &amp;lt;code&amp;gt;axis&amp;lt;/code&amp;gt; is always relative to the start of the arrow, not the origin &amp;lt;0,0,0&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cylinder&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;wire = cylinder(pos=(0,0,0), axis=(20,0,0), radius=1, color=color.yellow)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This creates a yellow cylinder starting at the origin &amp;lt;0,0,0&amp;gt; and extending to &amp;lt;20,0,0&amp;gt; with radius 1.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example&#039;&#039;&#039;&lt;br /&gt;
[[File:VPythonObjects.png|thumb|Result of example code]]&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
from __future__ import division&lt;br /&gt;
from visual import *&lt;br /&gt;
&lt;br /&gt;
particle = sphere(pos=(0,0,0), radius=4, color=color.blue)&lt;br /&gt;
arrowToOrigin = arrow(pos=(0,2,0), axis=(0,8,0), color=color.green)&lt;br /&gt;
wire = cylinder(pos=(0,0,0), axis=(20,0,0), radius=1, color=color.yellow)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Updating objects&#039;&#039;&#039;&lt;br /&gt;
If you assign an object to a variable (such as &amp;lt;code&amp;gt;particle&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;arrowToOrigin&amp;lt;/code&amp;gt; above) you can adjust its parameters such as its location.  For the above sphere, you can change its location to &amp;lt;-5,-5,0&amp;gt; with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;particle.pos=(-5,-5,0)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To change the axis of the above arrow to point to &amp;lt;-10,5,0&amp;gt;, use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;arrowToOrigin.axis=(-10,5,0)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To change the radius of the above cylinder to 3, use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;wire.radius=3&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example&#039;&#039;&#039;&lt;br /&gt;
[[File:VPythonObjectsChanged.png|thumb|Result of example code]]&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
from __future__ import division&lt;br /&gt;
from visual import *&lt;br /&gt;
&lt;br /&gt;
particle = sphere(pos=(0,0,0), radius=4, color=color.blue)&lt;br /&gt;
arrowToOrigin = arrow(pos=(0,2,0), axis=(0,8,0), color=color.green)&lt;br /&gt;
wire = cylinder(pos=(0,0,0), axis=(20,0,0), radius=1, color=color.yellow)&lt;br /&gt;
&lt;br /&gt;
particle.pos=(-5,-5,0)&lt;br /&gt;
arrowToOrigin.axis=(-10,5,0)&lt;br /&gt;
wire.radius=3&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Useful built-in functions==&lt;br /&gt;
&lt;br /&gt;
VPython includes various functions that can make your calculations much easier.  The following functions simplify mathematical operations on vectors and will come in handy very often.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cross-multiply two vectors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cross(vectorA, vectorB)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Magnitude of a vector&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;mag(vector)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Square of the Magnitude of a vector&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;mag2(vector)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Unit vector of a vector&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;norm(vector)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Connectedness==&lt;br /&gt;
&lt;br /&gt;
I am very interested in programming.  I have used Python for years, so translating Physics problems into VPython code is a great way to cement the fundamental ideas in my mind.&lt;br /&gt;
&lt;br /&gt;
VPython is a great tool to bridge the worlds of Computer Science and Physics.  Many of the calculations required to model a physical object would be tedious if done by hand.  Yet with often a few lines of code, this work can be reduced to almost nothing.&lt;br /&gt;
&lt;br /&gt;
NASA has published [http://gcmd.gsfc.nasa.gov/KeywordSearch/Metadata.do?Portal=GCMD&amp;amp;MetadataType=1&amp;amp;MetadataView=Full&amp;amp;KeywordPath=&amp;amp;EntryId=3-D_ES-Models VPython models].  However, VPython is still primarily used in an educational context.&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
&lt;br /&gt;
VPython was originally released in 2000 by David Scherer after he took an introductory physics class at Carnegie Mellon University.  At the time, the school used the cT programming language for 2D modeling, and David saw the need for something better.  Working with several people including professors Ruth Chabay and Bruce Sherwood, he developed a Python module called Visual.  Visual Python or VPython featured 3D modeling, as well as an easier-to-understand object-oriented syntax.  Beginning in 2002, the National Science Foundation had awarded $292,286.00 as of December 2015 for the further development of this tool.  VPython is released under an Open Source license, and development continues today.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
If you have never used Python, the [[VPython_basics| VPython Basics]] wiki page has information for getting started with Python programming.&lt;br /&gt;
&lt;br /&gt;
===Further reading===&lt;br /&gt;
&lt;br /&gt;
Aiken, John M (2013). &#039;&#039;Transforming High School Physics With Modeling And Computation&#039;&#039;. Georgia State University.&lt;br /&gt;
&lt;br /&gt;
===External links===&lt;br /&gt;
&lt;br /&gt;
[http://www.wired.com/2015/08/coding-physics-course/ You Should Be Coding in Your Physics Course]&lt;br /&gt;
&lt;br /&gt;
[http://vpython.wikidot.com/ VPython Wiki Site]&lt;br /&gt;
&lt;br /&gt;
[https://groups.google.com/forum/#!forum/vpython-users VPython user group]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
This section contains the the references you used while writing this page&lt;br /&gt;
&lt;br /&gt;
[http://vpython.org/contents/cTsource/cToverview.html The cT Programming Language]&lt;br /&gt;
&lt;br /&gt;
[https://wiki.python.org/moin/VPython/ VPython - Python Wiki]&lt;br /&gt;
&lt;br /&gt;
[http://www.nsf.gov/awardsearch/showAward?AWD_ID=0237132 VPython NSF Award]&lt;br /&gt;
&lt;br /&gt;
[[Category:VPython]]&lt;/div&gt;</summary>
		<author><name>Scmcn22</name></author>
	</entry>
</feed>