183_notes:vpython_resources

This is an old revision of the document!


Computation in P-Cubed

In class, you will make use of Glowscript to model the motion of different physical systems. Both bits of software have extensive documentation. Listed below are some of the things that each bit of software can do.

VPython is built from the Python programming language. It adds some features that were traditionally difficult to have Python do. With very little code, VPython can:

  • create visual objects in 3 dimensions,
  • animate the motion of objects, and
  • move the visualization around with mouse interactions

Extensive documentation for VPython is available here.

PhysUtil is a module for VPython that makes it simpler to create highly visual simulations. With very little code, PhysUtil lets you:

  • generate motion maps,
  • plot graphs,
  • make timers, and
  • import CSV data
  • Syntax errors – A syntax error occurs when python is unable to interpret a line of code. This usually occurs because of a simple typo, misspelling, capitalization inconsistency, or incorrect parentheses in the line above.
  • Indentation errors – This is caused by an inconsistency in the indentation of the while loop. To fix this highlight the while loop, click “Format” (on the top bar of the laptop), click “dedent region”, then use tab to re indent everything that was indented to start.
  • Float Error: scalar vs. vector – when coding using both scalar and vector values, keep in mind that you cannot multiply, divided, or put a vector to the power of a number without first taking the magnitude of the vector (to make the vector a scalar value). When putting a value to the power of something the common format for this is (^#), but in python the format (**#) is used to depict this.
  • Name Error – This error occurs when you are trying to call a variable that has not already been defined above. To fix this, the line that defines the variable must be moved above the equation that the variable is being used in. This also occurs if the defined variable is misspelled.
  • Type Error – This error is much like a float error. Python will display this error message when you are trying to do something “strange”. A common reason that we see this error in class is from trying to multiply/divide a scaler by a vector.
  • Spazzing Graph – When putting in the first line of code it needs to be placed under the #MotionMap/Graph, this is where you indicate the number of lines that you need graphed. A common mistake is that this first line is placed under the #Calculation Loop this will result in a graph that appears to be flashing. This happens because the code is creating a new graph every time step.
  • Magnitude vs. Dot product – to find the size or absolute value of a vector, take the magnitude of that vector; this yields a scalar quantity with no directional information and is never negative. When finding how much of one vector is in the direction of a second vector, you need to take the dot product of the two vectors; this yields a scalar quantity that can be positive, negative or zero.

Extensive documentation for PhysUtil is available here.

  • 183_notes/vpython_resources.1594842332.txt.gz
  • Last modified: 2020/07/15 19:45
  • by pwirving