Toupie_POOC is a C++ application designed to simulate and visualize the dynamics of spinning tops. The project employs object-oriented programming (OOP) principles to model various types of tops, such as simple cones and more complex structures, simulating their rotational motion and physical properties.
- Object-Oriented Design: Utilizes OOP to represent different types of tops with unique attributes and behaviors.
- Numerical Integration: Implements the Euler-Cromer integration method to solve equations governing the tops' motion.
- Real-Time Visualization: Provides an interactive graphical interface with Qt and OpenGL, rendering the tops' movements in real-time.
- Customizable Parameters: Allows users to modify physical parameters such as mass, radius, and angular velocity to observe different motion behaviors.
- C++ Compiler: Ensure you have a C++11 compatible compiler.
- Qt: For GUI functionality.
- OpenGL: Required for rendering graphics.
-
Clone this repository: git clone https://github.com/LeonDeligny/Toupie_POOC.git cd Toupie_POOC
-
Compile the project: • With Qt Creator: Open the .pro file and build the project. • With command line (if available): qmake make
-
Run the executable: ./toupie_pooc
- Launch the application to view a selection of predefined tops.
- Use the GUI to interact with different types of tops, adjust parameters like mass, radius, and initial angular velocity.
- Observe the effects of changes in real-time as the simulation updates.
- src/ : Source files for the simulation, including classes for different types of tops.
- include/ : Header files defining classes and methods.
- lib/ : Libraries for GUI and graphical rendering.
- Euler-Cromer Method : Used for numerical stability in the simulation of rotational dynamics.
- Object-Oriented Design : Separates top types as distinct classes, each encapsulating unique behaviors and properties.
- Add support for additional numerical methods for increased simulation accuracy.
- Expand GUI features for more detailed customization and control.