MathVizAnimator is a program to create mathematical based animations and render them into a video file. It is highly inspired by manim.
The program is written in C++ extensively using the Qt Library. For rendering the FFmpeg library is used and text can be created and added by using LaTeX.
-
GUI to create math based animation videos
-
Geometry shapes like a circle or a rectangle can be added via Drag & Drop to the video
-
Multiple properties to change style of geometry shapes like color, border width or opacity
-
LaTeX interface to create svg images which can be added to the video
-
Animations like FadeIn or FadeOut
-
Interface to create videos by using FFmpeg
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. Since this is just an alpha version, there exists no release or any option to install the program at the moment. Please also have a look at the current documentation.
Important Note: As stated above the program is currently under development and in an really early (alpha) stage. Be aware that using the program for important or long tasks is not recommended. For example there is no autosave function, not even a check if there are changes when closing the program. Crashes can occur at any time. Please keep that in mind. If you discover an issue (which is very likely) or have an idea for a new feature (which wouldn't surprise me) please have a look at CONTRIBUTING.md.
If you want to use MathVizAnimator on MacOS please be aware of the following note.
Important Note for MacOS: Currently only Linux and Windows builds are tested live. There is a github action to build and run tests on MacOS, but it was never executed there directly. If you want to run MathVizAnimator on MacOS be aware that there could be unknown bugs and behavior. Please open an Issue if any problems occur.
-
Qt library v6.5 - found at https://www.qt.io/
-
CMake v3.24+ - found at https://cmake.org/
-
C++ Compiler - needs to support at least the C++20 standard, i.e. MSVC, GCC, Clang
Note: You also need to be able to provide CMake a supported generator.
-
FFmpeg - found at https://ffmpeg.org/
-
LaTeX - Depends on your OS, see https://www.latex-project.org/get/
-
doxygen - found at https://www.doxygen.nl/
-
sphinx - found at https://www.sphinx-doc.org/en/master/
First clone the project to your system.
git clone https://github.com/codingwithmagga/mathvizanimator
Check out that all of the Prerequisites above are installed on your system. After that for building the project, is all you need to do running a similar CMake routine to the the one below:
mkdir build/ && cd build/
cmake ..
cmake --build .
Note: It might be easier to just use an IDE (like QtCreator) for this task.
There are some additional dependencies for the documentation, see Prerequisites for the documentation. In order to generate documentation for the project, you need to configure the build to use Doxygen. This is easily done, by modifying the workflow shown above as follows:
mkdir build/ && cd build/
cmake .. -D BUILD_DOCUMENTATION=1
cmake --build .
Note: It my be easier to set these CMake variable in your IDE.
This project uses the QTest library for unit and integration testing.
cd build # if not in the build directory already
ctest
All tests will be executed in the CI workflow of this project.
Please read CONTRIBUTING.md for details on our how you can become a contributor and the process for submitting pull requests to us.
This project makes use of SemVer for versioning.
- Marco Johann Schoos - @codingwithmagga
This project is licensed under the GPL-3.0 license - see the LICENSE file for details