Inspiration

After brainstorming various ideas, we were stumped until the subject of simulations came up. The idea of simulations being used for art references was brought up, which turned into thinking about simulations that could educate. Khan Academy inspired us, and we wanted to try something about Javascript we never learned before, which was drag and dropping.

What it does

Users can drag as many planets as they want on the container, customize the angle and magnitude, and run the simulation. The planets could collide with one another.

How we built it

We used JS/HTML/CSS for the front end and Python (Flask) for the backend.

Challenges we ran into

Implementing drag and drop was difficult. We followed a tutorial to learn how to do it, but modifying the code to suit our specific project took many hours of debugging. Getting the frontend to interact with the backend took quite some time as well.

Accomplishments that we're proud of

We were proud of that it is running. We began thinking about 2000s website aesthetic, so we lean into for the website design. Our perseverance to complete this project was amazing. All of us worked on the project until a little over past 4 am.

What we learned

We learned teamwork. Ryan learned how to use Flask. Drag and drop was a major learning curve for all of the frontend coders. And we can't have too many energy drinks!

What's next for Planet Simulator

Maybe add more customization like mass, material and getting planets to orbit. The customization feature originally was going to be some arrows that also represents different customization features. For example, rotating an arrow to point exactly where the user wants to move a specific planet will move to and one to could extend outwards to represent speed. Unfortunately, they did not make the cut due to feasibility in time, so we used sliders instead. Making the planets 3D would be cool to do!

Share this project:

Updates