Skip to content
forked from 3b1b/manim

Trying out `Mamin` an animation engine to create explanatory math videos to teach maths in a fun way

Notifications You must be signed in to change notification settings

aghoshpro/Manimation

 
 

Repository files navigation

OntoRaster

pypi version MIT License Manim Discord docs

Manim is an engine for precise programmatic animations, designed for creating explanatory math videos. Note, there are many versions of manim are available. Check this page for more details.

We use Manim Community Edition, forked from original work by 3Blue1Brown, in 2020 by a group of developers to make it more reliable, better tested, faster to respond to community additions, and easier to start. It's well-maintained and documented.

1. Installations

One can follow the instructions to install ManimCommunity for any Os. Although, I have included the step-by-step installation for windows that worked for me.

1.1. Check and Install Chocolatey

1.2. Install manimce

To install Manim Community Edition (link), run the following command from the cmd or powershell with administrative privilege

choco install manimce

That’s it, no further steps are required. You should get something like below.

The install of manimce was successful.
Software install location not explicitly set, could be in package or
default install location if installer.

Chocolatey installed 5/5 packages.
See the log for details (C:\ProgramData\chocolatey\logs\chocolatey.log).

Installed:
- manimce v0.18.1
- python v3.11.9
- python3 v3.11.9
- ffmpeg v7.0.1
- python311 v3.11.9

PS C:\Windows\system32>

1.3. Update pkg

To upgrade manim pkg to it's latest version consider using -

pip install -U manim

2. Install a LaTeX distribution

  • For Windows, the recommended LaTeX distribution is MiKTeX to enable LaTeX in the manim videos.
choco install miktex.install

3. Start Working with Manim

  • Open terminal or cmd and clone this repo

    git clone https://github.com/aghoshpro/Manimation.git
    
  • Initially one has to create scene.py file which will contain the animations as classes. Here scene.py is created in the repo and now let's create a class named CreateCircle which will draw a circle.

    from manim import *
    
    class CreateCircle(Scene):
        def construct(self):
            circle = Circle()  # create a circle
            circle.set_fill(PINK, opacity=0.5)  # set color and opacity
            self.play(Create(circle))  # show the circle on screen
  • Save the code in scene.py. Then, run it with the following command,

    manim -pqk scene.py CreateCircle
    

    To see more options please check Manim Community Edition

  • Output

  • To check the structure and options of manim run the following,

     manim render --help

4. Saving

Save the files in the local directory with desired ./path/output

4.1. As .gif

manim -pqh scene.py SquareAndCircle -o Z:/Git_PhD/Manimation/output/filename01 --format gif

4.2. As .mp4

manim -pqh scene.py SquareAndCircle -o Z:/Git_PhD/Manimation/output/filename02 --format mp4

4.3. As .png (-s)

manim -pqh scene.py SquareAndCircle -s -o Z:/Git_PhD/Manimation/output/filename03 --format mp4

5. Basic Examples

I have tried some examples listed here. More examples are can be found (here)

5.1. Equations (Docs)

5.2. Polygon Transformation

5.3. Writing Text (Docs)

5.4. Graphs (Docs)

5.5. AreaUnderCurve

6. Ideas

6.1. Solar System

6.2. Mandelbrot Fractals Pattern

6.3. Draw Anything with Fourier Transformation with epicycles

6.4. ???

Resources

These are some useful resources that can inspire us to create more beautiful manimation using Manim. Please add more if you find any other interesting links.

Blogs

YT

Documentation

Please check Docs

manim-kindergarten wrote and collected some useful extra classes and some codes of videos in manim_sandbox repo.

Contributing

Is always welcome. As mentioned above, the community edition has the most active ecosystem for contributions, with testing and continuous integration, but pull requests are welcome here too. Please explain the motivation for a given change and examples of its effect.

License

This project falls under the MIT license.

About

Trying out `Mamin` an animation engine to create explanatory math videos to teach maths in a fun way

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 96.1%
  • GLSL 3.7%
  • Other 0.2%