Inspiration
I decided to work on this project during UGA Hacks because in addition to learning a great deal from the different events and sponsors, I was inspired by the open and eager nature of UGA Hacks to work on something of my own. My goal for the project was personal growth and application of skills that I have learned.
What it does
The program is a physics simulation using a ball and some panels. The user can orient and move the panels around with the arrow and WASD keys, then drop the ball with the G key to set the system in motion, and the ball will fall on the panel and bounce according to the angle of the collision.
How we built it
I used three.js to build this as I found it to be a great way to integrate 3D graphics and applications into a webpage. The important aspect of the program is the collision calculation, which uses ray casting and matrix operations to find the proper angle and speed of the ball after bouncing.
Challenges we ran into
I found it pretty difficult to get the matrix operations for the angle of collision, as well as getting the raycasting to work properly, which was the main goal to overcome in the project.
Accomplishments that we're proud of
I was able to accomplish the goal of using ray casting and matrix operations to simulate elastic collision and momentum in three.js.
What we learned
Working on this project, I was able to expand my understanding of computer graphics and, more specifically, ray casting and matrix operations in JavaScript.
What's next for THREEJS Physics Simulation
I intend to continue working on this project, with the goal of expanding the physics simulation to include other shapes, as well as possibly simulating other physical phenomena as well.

Log in or sign up for Devpost to join the conversation.