Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| 183_notes:modeling_with_vpython [2021/02/18 21:17] – [Modeling Motion with VPython] stumptyl | 183_notes:modeling_with_vpython [2022/12/01 19:39] (current) – valen176 | ||
|---|---|---|---|
| Line 7: | Line 7: | ||
| ==== Lecture Video ==== | ==== Lecture Video ==== | ||
| - | {{youtube> | + | {{youtube> |
| Line 16: | Line 16: | ||
| - **Objects** - Each program that you write is modeling the motion of some physical objects. So you will need to set up and place those objects in the scene. A big list of objects is [[http:// | - **Objects** - Each program that you write is modeling the motion of some physical objects. So you will need to set up and place those objects in the scene. A big list of objects is [[http:// | ||
| - **Parameters & Initial Conditions** - Each program will have associated physical quantities for one or more of the objects in the scene. These might be the object' | - **Parameters & Initial Conditions** - Each program will have associated physical quantities for one or more of the objects in the scene. These might be the object' | ||
| - | - **Time conditions** - The initial time and time step are needed in each program. The time step is particularly important because it controls how often the calculations occur. Typically, [[183_notes: | + | - **Time conditions** - The initial time and time step are needed in each program. The time step is particularly important because it controls how often the calculations occur. Typically, [[183_notes: |
| - **Calculation loop** - Your job in mechanics is to predict or explain the motion of systems and the calculation loop is where that happens. In the loop is where the [[183_notes: | - **Calculation loop** - Your job in mechanics is to predict or explain the motion of systems and the calculation loop is where that happens. In the loop is where the [[183_notes: | ||
| * [[183_notes: | * [[183_notes: | ||
| Line 22: | Line 22: | ||
| * [[183_notes: | * [[183_notes: | ||
| - | <code python fancartModel.py> | + | Note that in this example, the cart was moving at constant velocity, so we didn't need to do much step 4 above. In future weeks, there will be examples of how to use Glowscript to model motion when there is nonzero net force. |
| - | from visual import * | + | |
| - | from physutil import * | + | |
| - | #Set up windows | + | <code python videoexample.py> |
| - | scene.width = 1024 | + | Web VPython 3.2 |
| - | scene.height = 768 | + | |
| - | #Objects | + | # object setup |
| - | track = box(pos=vector(0,0,0), size=vector(10,0.1,1), color=color.white) | + | road = box(pos = vec(0,0,0), size = vec(10,0.5,1)) |
| - | fancart | + | cart = box(pos = vec(-4,0.5,0), size = vec(1,1,0.9), color = color.red, velocity |
| - | fancartMotionMap | + | |
| - | #Parameters | + | # parameters |
| - | fancart.mass = 0.3 | + | cart.velocity |
| - | fancart.p = vector(0.15,0,0) | + | |
| - | #Time and time step | + | # time setup |
| - | dt = 0.5 | + | |
| t = 0 | t = 0 | ||
| + | dt = 0.01 | ||
| + | tf = 2 | ||
| - | #Calculation | + | # loop to do physics |
| - | while t < 10: | + | while cart.pos.x |
| - | + | rate(100) | |
| - | rate(25) | + | |
| - | + | | |
| - | | + | |
| - | + | ||
| - | fancart.p = fancart.p + Ffan*dt | + | |
| - | fancart.pos = fancart.pos + (fancart.p/ | + | |
| - | | + | |
| t = t + dt | t = t + dt | ||
| - | | + | print(' |
| </ | </ | ||