Source

VectorOpenGL models vector fields, based on an x differential equation, and a y differential equation. With these two inputs, it can create beautiful animated graphs:

Image1

Areas of Improvement

Currently, the algorithm for calculating the pixel paths is O(n^2), which causes VectorOpenGL to be very slow on my laptop, though it does work perfectly on my desktop. This is top priority for this project.

Another issue is that when the speed option is increased, it breaks the zoom effect.

Dependencies

  • glfw3
  • opengl3
  • imgui with glfw support enabled

Building

With the above dependencies installed, building should be as simple as:

$ make clean vog

Then run with:

$ ./vog

Credits

This project uses dearImgui for the user interface, GLAD as the OpenGL loader, and exprTk for equation parsing.