Engineered a feature-rich 2D physics engine from scratch in modern C++. This project showcases advanced knowledge of object-oriented design, computational physics principles, and the implementation of complex mathematical concepts. The engine accurately simulates rigid body dynamics, collision detection, and realistic physical responses, making it a powerful foundation for games and simulations.
- Rigid Body Dynamics: Simulates the motion of objects under the influence of forces, torque, and impulses.
- Collision Detection: Implements robust algorithms to detect collisions between various shapes (circles, polygons).
- Collision Resolution: Calculates and applies realistic physical responses to collisions, including restitution (bounciness) and friction.
- Constraint Solving: Manages joints and contacts to create complex, interconnected physical systems.
- Spatial Partitioning: Utilizes grid-based partitioning to optimize collision detection for a large number of objects.
- Extensible Architecture: Designed with a clean, object-oriented structure that allows for easy addition of new shapes, forces, and constraints.