Both sides previous revision Previous revision Next revision | Previous revisionLast revisionBoth sides next revision |
183_notes:vpython_resources [2018/03/12 21:36] – [PhysUtil] hallstein | 183_notes:vpython_resources [2020/07/16 04:54] – pwirving |
---|
====== Software for Projects ====== | ====== Computation in P-Cubed ====== |
| |
| In class, you will make use of [[https://www.glowscript.org/|Glowscript]] to model the motion of different physical systems. Glowscript is an online coding platform that means that you can work on our computational activities without having to install anything on your computer. Glowscript has extensive help documentation which can be found [[https://www.glowscript.org/docs/VPythonDocs/index.html|here]]. You will notice that this will take you to something called Vpython and Vypthon Glowscript help. Glowscript runs VPython which is built from the Python programming language. Python has become an incredibly popular computational language because is uses simple programming syntax and offers relatively straight forward code readability. |
| |
In class, you will make use of [[http://www.vpython.org|VPython]] and [[https://github.com/perlatmsu/python-physutil|PhysUtil]] 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 ===== | ===== VPython ===== |
| |
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: | The class uses Glowscript and by default VPython because it adds some features that were traditionally difficult to have Python do. With very little code, VPython can: |
| |
* create visual objects in 3 dimensions, | * create visual objects in 3 dimensions, |
* move the visualization around with mouse interactions | * move the visualization around with mouse interactions |
| |
Extensive documentation for VPython is [[http://www.vpython.org/contents/docs/index.html|available here]]. | All of this allows us to create computational models that are modeling real-world physical phenomenon that can help you gain an understanding and insight into physics concepts that you will interact within this class. |
===== PhysUtil ===== | ===== PhysUtil ===== |
| |
PhysUtil is a module for VPython that makes it simpler to create highly visual simulations. With very little code, PhysUtil lets you: | The majority of the codes that you will use in this class will start with two lines. The first line tells the program which version of Glowscript it is using: "GlowScript 3.0 VPython". |
| |
| The second line which will not always be there but will be the majority of the time will be "get_library('https://cdn.rawgit.com/PERLMSU/physutil/master/js/physutil.js')". This is importing a bunch of code in the program that is called PhysUtil which is a module for VPython that makes it simpler to create highly visual simulations. With very little code, PhysUtil lets you: |
| |
* generate motion maps, {{:183_projects:motionmap.png?300}} | * generate motion maps, {{:183_projects:motionmap.png?300}} |
* make timers, and | * make timers, and |
* import CSV data | * import CSV data |
| |
| For folks who are interested in learning more about PhysUtil and what it does, there is extensive documentation for PhysUtil at [[https://github.com/perlatmsu/python-physutil/wiki|available here]]. |
| |
| **Message from Paul:** //You will have heard me say this already but I want to reaffirm that you are not expected to learn a whole language when taking this class. The focus is on gaining an understanding of how to read code and make small edits. Before designing this class I had no real coding experience and so I want to highlight something that might lead to frustration as it did for me when I started learning some basic coding. Errors can drive you nuts. BUT, learning the skill of debugging an error is important and will hold to you in any future coding experiences. It is transferrable to other classes and future career aspirations and is a legitimate problem-solving approach that is not just applicable to code. So, by all means, get frustrated but remember that encountering errors in your code is not a failure on your part but just an opportunity to develop a new skill and also remember to celebrate the victories when you get your code to do what you intend it to do. // |
| |
| Below is a list of errors or unexpected behaviors that you might experience and how you might go about resolving them. By no means is this comprehensive and we definitely encourage you to research the internet to find solutions. You can copy and paste code from other places you just have to understand why it is doing what it is doing. |
| |
===== Python Troubleshooting ===== | ===== Python Troubleshooting ===== |
| |
| |
Extensive documentation for PhysUtil is [[https://github.com/perlatmsu/python-physutil/wiki|available here]]. | |