Physics is hard. Vectors, particularly, confuse a lot of people and are hard to visualize until you get the hang of them. This webapp is meant to help solve this problem by providing a playground to experiment with component and angle vectors, including switching between forms and performing basic vector operations.

What it does

The app is effectively a static playground in which different vectors can be graphed, and operations can be run on them. Operations include switching between component form and angle form; vector addition and subtraction; cross product; scalar/dot product; scalar multiplication and division; finding the angle between two vectors; and computing the angle between two vectors.

How we built it

We built our app in Javascript, basing its structure on the Three.js library which made 3D output fairly simple. From there, we collaborated to work to each of our strengths in designing an API and UI. Once we had a base for the project, we came up with a few ideas and split them up into several suites, each with its own set of functions.

Challenges we ran into

Myriad bugs came from our choices of IDEs and various lack of error safety. But every problem detected was a learning experience.

Accomplishments that we're proud of

The app is complete in the form we intended it - we met our design goal for our first hackathon.

What we learned

Javascript development is difficult and confusing, but it's certainly easier when we use just one set of external libraries. Delegating different parts of the project to different team members worked well.

What's next for Vectors

Implementing more functionality that will make it easier to use for solving physics problems - for example, placement of point charges and circular vectors.

Built With

Share this project: