This project uses Manim Community Edition to animate algebraic structures from a custom Python module called FerGroup. It is intended as an educational and exploratory tool for visualizing group-theoretic and combinatorial concepts.
The FerGroup module is included as a Git submodule and provides all the algebraic objects and logic.
Make sure you include the --recurse-submodules flag:
git clone --recurse-submodules https://github.com/tonamatos/AmoebaAnimator.git
cd AmoebaAnimatorOn Windows:
python -m venv venv
venv\Scripts\activateOn macOS/Linux:
python3 -m venv venv
source venv/bin/activateInstall the required packages for animation:
pip install -r requirements.txt`Then install the internal FerGroup module in editable mode:
`pip install -e FerGroup`This lets you edit FerGroup directly without reinstalling.
Run a Python session and try importing:
from FerGroup import FerGroup
from manim import *
print(FerGroup)If no error appears, you're good to go!
CLI Usage From the root folder:
manim -pql main.py Amoeba_scene-p: Open video after rendering
-ql: Quick low-quality render
Use -qm or -qh for higher quality
VS Code Sidepanel (Optional):
-
Install the Manim Sideview extension
-
Open your scene file
-
Select the class to render
-
Click "Render" in the side panel
If the FerGroup module is updated upstream, pull the changes and update your local copy:
git submodule update --remote
pip install -e FerGroupAmoebaAnimator/
├── FerGroup/ ← Git submodule
│ └── FerGroup/ ← Actual package
├── scenes/ ← Manim scene files
├── requirements.txt ← Animation dependencies
├── .venv/ ← Virtual environment (not versioned)
└── README.md ← This fileCreated by Tonatiuh Matos-Wiederhold.dev as part of the 2025 Directed Reading Program at the University of Toronto.
Powered by ManimCE and custom algebraic tooling.