Team Members

Jeffrey Saeteurn (El Capitan) - saeteurn@princeton.edu
Yosvani Lopez - ylopez@princeton.edu
James Lin - jhlin@princeton.edu


Timeline

April 2

• Creating sprites and performing basic 2-D kinematic motion (no gravity, collision, etc)
• Develop a working link of communication between the user interface and the physics engine. At this point we will be working with a simplification of the physics problems we plan to solve to ensure all parts will work properly and to what extent they will work.

April 9

• Write code for all objects and environmental features for problem modeling. Environmental feature include gravity, levels, grounds, etc.
• Implement the middleware such that the coordinate system would be set to be relative to other objects given the current environmental details. (Block A is 5 feet to the right of block B given that they are both on the same platform)
• At this point given a set of objects and environmental features we would be receiving input data from the user interface and then we would interpret it using our own design paradigm (relative coordinates, etc). All the under-the-hood calculations would be maintained by the middleware communicating with the physics engine (this is to maintain modularity)--with it only giving the frontend certain calculations done by the physics engine to be displayed.

April 16

• Construct the interface such that the user is given the ability to model their problem using both drag and drop objects and a data input box
• Given a model from the user the interface will then call the correct function and obtain the data needed to generate the output.
• Our goal at this point is to have an interface that is as simple and complete as possible without necessarily implementing the simulations yet. We will also be focusing on making the interface intuitive and minimal.

April 23

• Finish interface including the simulation aspect of it. This involves using the data received from the physics engine to create the simulation and also includes optimizing how and when we update the simulation (finding the proper balance of space and time used when updating)
• Add extra but necessary components to Phys Wiz like a history tab that saves the user’s recently entered problems.

April 30

• Thoroughly test and debug (having a bunch of random people playing with it would surely be a good method to help test).
• Add non-essential features. These are feature that could make the app more fun and user friendly but that are not necessary. This includes possibly integrating a myScript type of interface that allows the user to draw in objects that would then be replaced by the object that most closely resembles what they drew. Another possible expansion may be a custom object option that would allow the user to draw an object that they could then give properties to and create simulations with.

May 2

• Have demo presentation done and rehearsed


Elevator Pitch:

(Casual)
Are you tired of struggling with your Physics Problem sets? Are you sick of not being able to visualize those darn harmonic oscillations? Look no further! Phys Wiz is here to do your bizz (business)! Currently, we have applications that solve your math problems *coughs* Wolfram Alpha *coughs*, but we have absolutely no computational tools that can directly analyze your physics problems and output only what you want. Inspired by a group of three geniuses, Phys Wiz is a physics simulator designed to help you model and visualize your physics problems. Here’s how it works: first, you design your problem by placing objects in their relative positions, then you assign the object masses, initial velocities, and other physical properties, finally all you have to do now is sit back and relax as Phys Wiz simulates the problems for you in great detail while displaying information about the properties that matter to you most such as acceleration, velocity, momentum and much much more! (Now if only you could have Phys Wiz find girls for you)

(Formal)
The problem we are addressing is the fact that students taking an intro class to classical mechanics do not have an easy way to visualize or model the problems that they’re dealing with. They can draw it out on paper, but the handmade model will be static and boring. Also, there is no way for students to efficiently model harmonic oscillation problems because drawings are static. That’s where Phys Wiz comes in. Our iPhone application will use the SpriteKit and Physics Engine that Apple provides to dynamically model the problems that the students are tasked to solve. It will allow students to drag and drop shapes and object onto a screen that will dynamically simulate how those objects will interact according to Newtonian mechanics. Currently, such an app does not exist in the app store, but there are online applications scattered around the internet that each does one specific thing. They’re relatively obscure, aren’t very smooth, and are sometimes inconvenient to use. After implementing what we described earlier, we’re thinking about adding a feature that allows the user to draw the objects themselves instead of having to drag and drop predetermined objects onto the screen. This would require some work with machine learning, because we would have to train our app to recognize the images that the user draws.


Design Document:


Click here for the direct link to the Design Document.



Wizard graphic by Icons8 from Flaticon is licensed under CC BY 3.0. Made with Logo Maker