This project is a Graph Theory Visualizer created using the Manim animation library. It is designed to visually explain basic concepts of graph theory, focusing on graph counting, non-isomorphic graphs, and isomorphism. This project was developed as part of a homework assignment for a Graph Theory course at Akdeniz University.
This project includes:
- Visualizing the concept of simple graphs and counting them.
- Illustrating the concept of isomorphic graphs.
- Animating graph structures to enhance understanding.
The project currently focuses on:
- Counting simple graphs for n=3 and n=4.
- Identifying and explaining isomorphic graphs.
- Make sure you have Manim Community (v0.19) installed:
pip install manim ```
- Ensure that LaTeX (MikTeX) is installed for mathematical formulas.
-
Clone the repository:
git clone https://github.com/Akdeniz-CSE-Students/Graph-Theory-Visualizer.git cd Graph-Theory-Visualizer -
Run the Manim animation:
manim -pql graph_counting_n4_test.py CountingGraphsComplete
-
Your animation will be created in the
media/videosdirectory.
-
The animation begins with an introduction to the concept of graph counting.
-
It introduces the mathematical formula for calculating the total number of edges in a graph:
$$ B(n, 2) = \frac{n(n - 1)}{2} $$
- It displays all 8 possible simple graphs for n=3.
- Isomorphic graphs are faded out for clarity.
- An isomorphism example is shown with a visual explanation.
- It presents the 11 unique non-isomorphic graphs for n=4 among the 64 possible combinations.
- This section is designed to clearly show how isomorphism reduces the total number of unique graphs.
This project was created as part of a homework assignment for Graph Theory. The goal is to help students understand:
- How simple graphs can be counted.
- How isomorphic graphs are identified.
- The concept of non-isomorphic graphs for different values of n.
- This project is the visual representation of Slide 23 in the assigned homework slides.
If you are a student working on a similar homework, you can:
- Fork this repository.
- Create your own graph visualizations.
- Make a pull request with your contribution.
- Create a new file for your slide (e.g.,
example.py). - Follow the structure of the existing code.
- Add a brief description of your animation to the README.
- Yahya Efe KuruΓ§ay - Student ID: 20220808005
- π My Website
- π My GitHub Profile
- π Akdeniz CSE Students GitHub
This project is open-source and available under the MIT License. Feel free to use and modify it for educational purposes. π