A C program for visualizing continuous time dynamical systems in a 3D space.
- 3D plotting
- customizable input equations
- mouse and keyboard controls for the 3D plot
- cglm
- freetype
- gmp
- GLEW
- GLFW3
- OpenGL
- lizard
- ds
nix buildmake./dynsysw,a,s,d: camera angle-,=: zoomz: toggle crossx: toggle axisc: clear/resetspacebar: pause/resumem,,: speed decrease.,/: speed increasej,l: x translationi,k: y translationp,;: z translationv,b: dt
Note: at the moment the input equation must be provided in Polish notation:
Lorenz attractor:
dx: ( * 10 (- y x))
dy: ( - (* x (- 28 z)) y)
dz: ( - (* x y) (* (/ 8 3) z))
Rössler attractor:
dx: ( - 0 ( + y z))
dy: ( + x ( * (/ 1 5) y))
dz: ( + (/ 1 5) ( * z ( - x (/ 57 10))))
Contributions are welcome! Before submitting a pull request, please:
- Format your code with clang-format
- Test your code for memory leaks and undefined behavior with valgrind
