Overview
This week, we made some more progress on the app. We’re still ahead of schedule and on track to finish early.
Progress
We made a lot of progress toward the functionality of the app and made everything much more intuitive. Now, every body can be selected by tapping or clicking on it. After it’s selected, a user can change its size and launch it by pinching and dragging back, respectively. They can also press the “o” button then click on a different body they want the selected body to orbit. They can also press the “f” key to make the camera follow the selected body so that it stays at the center of the screen. A user can click on any empty space (outside of a body) on the screen to deselect the body. Then, they can scroll or pinch to zoom and click and drag to pan. Finally, we added functionality for users to add more planets. They can either press the “n” key to add a new planet on each tap/click or the “m” key to add a (currently 5x5) matrix of planets centered at the tap/click. The latter is useful if someone wants to add a lot of bodies really quickly. Having a large clump of small bodies is useful if you want to model a collision that takes into account destruction of mass. The algorithms for all of these changes can be seen at the below link. This will take you to the main file in our program. The website is our github page that we are using to share the project between computers. The code is well-commented to aid with reader-understanding.
Here are some screenshots showing the functionality of the app:
All of those clusters were made using the "add body matrix" tool. |
Below, you can see a cool application for having many small bodies. As the large bodies break apart they pull the mass of smaller bodies apart like fluid.
Future Plans
Moving forward, we will start adding graphics and user interface. We already have most of the functionality. We just need to start adding buttons for users to click/tap to use that functionality. This will follow a similar design to the concept image we included in last week’s post. Once, we add a user interface with buttons, we can start making sure everything works for the phone's touch screen. For the last couple weeks, we've been focusing on the computer version because we can use the keys to execute commands.
Team Roles
Team roles are still pretty similar to last week. Nick has been doing the majority of the programming. Ebed and Jiho are still learning Java but have started contributing to the programming now that they’re a little more up to speed. They are also still working on graphics and planning. We have all been working together to write in the blog.
No comments:
Post a Comment