Skip to content

Alicia105/ChaosEquationSimulator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

💫 ChaosEquationSimulator

Description

An interactive OpenGL + ImGui application to visualize and explore chaotic attractors in 3D. Supports real-time parameter editing, camera control, and multiple attractor types with dynamic trajectories.

📑Table of Contents

🧩Features

  • 🌀 3D Visualization of 15 different chaotic attractors

  • Saving trajectory as a CSV file

  • 🎛️ Interactive GUI using ImGui for:

    • Selecting attractor types
    • Adjusting equation parameters
    • Setting initial conditions
  • 🖱️ Mouse Controls:

    • Rotate camera with left-click drag
    • Pan with right-click drag
    • Zoom with scroll
    • Reset view with R key or "Reset view" button
  • ✨ Particle simulation along trajectories

🧠 Supported Attractors

  • Lorenz
  • Rössler
  • Dequan Li
  • Aizawa
  • Chen Lee
  • Arneodo
  • Sprott B
  • Sprott Linz F
  • Dadras
  • Halvorsen
  • Thomas
  • Lorenz83
  • Rabinovich-Fabrikant
  • Four-Wing
  • Sprott

Each attractor uses its own set of parameters, which update dynamically when selected.

🛠️ Tech Stack

  • C++ 11 or higher
  • OpenGL
  • GLFW 3.4
  • GLAD
  • GLM 1.0.1
  • ImGUI v1.91.9b
  • A C++ compiler (GCC, Clang, etc.)

🧪Installation

  1. Clone or download the repository
 git clone https://github.com/Alicia105/ChaosEquationSimulator.git 
  1. Navigate to the project directory
 cd ChaosEquationSimulator 
  1. Create a build directory
 mkdir build && cd build 
  1. Build the project with the CMake inside the build directory
 cmake ..
  1. Compile the project with make
 make
  1. Run the executable file
 .\ChaosEquationSimulator.exe 

🚀How to use

  • Use your mouse wheel to zoom in and out
  • Maintain your mouse left button clicked to rotate the simulation
  • Maintain your mouse right button clicked to pan the camera in the simulation
  • Press the "R" key or the "Reset view" button to set the camera to the original settings and remove the particles from the trajectory.
  • The attractor is Lorenz attractor by default. You can choose the attractor between 15 different attractors. You can choose the initial point, number of points to trace and the duration in the settings menu. The duration is the time taken by a point to do the whole trajectory in the real world. You can then generate a new trajectory and save it as a csv file.
  • You can add particles on the trajectory to simulate the speed along the trajectory. You can choose the number of particles you want along it.

Settings menu

📷Demo

Windows demonstration Windows demo with particles

demo_simu_particles_dadras.mp4

🙌Acknowledgements

📚References

About

Chaos Equation Simulator

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages