Title: "π¬ Physics Engine Implementation in C++"
Description: The project aims to develop a physics engine from scratch using C++. The physics engine will simulate physical interactions between objects in a virtual environment, taking into account various forces such as gravity, friction, and collision forces.
The engine will be developed with an object-oriented approach, making use of classes and inheritance to encapsulate data and behavior of different physical objects. The engine will also include a 3D rendering component π₯, to display the simulation results in real-time.
The physics engine will be designed to be highly configurable, allowing users to adjust the physical properties of objects, such as mass, shape, and material properties, and to modify the parameters of the simulation, such as time step and integration method.
The project will include the following main components:
Physics engine core π§: This will include the core physics simulation logic, such as integration methods, collision detection, and force calculation.
Object representation π§±: This will define how different types of objects are represented in the simulation, including rigid bodies, particles, and soft bodies.
2D rendering π : This will handle the visualization of the simulation results in a 2D environment.
Input/output π»: This will provide the user interface for configuring the simulation parameters and importing/exporting object data.
The project will be implemented in C++, using the OpenGL graphics library for rendering. The project will also make use of external libraries, such as Boost and Eigen, to handle mathematical operations and data structures.
The project will be developed using an iterative approach π, with each iteration adding additional functionality to the engine. The final product will be a fully functional physics engine capable of simulating a range of physical interactions in a virtual environment.
Deliverables:
Complete source code for the physics engine. User manual detailing the engine's usage and features. Sample applications demonstrating the engine's capabilities. Timeline π :
Week 1 : Research and planning π.
Week 2: Develop the physics engine core.
Week 3: Implement object representation and collision detection.
Week 4: Add 3D rendering component and user interface and Final testing and bug fixing.