ManimCE tutorial by TheoremOfBeethoven

_images/banner.gif

Note

This is not the official ManimCE tutorial, the official documentation is here. I am a person outside the project that has been using Manim since 2018 who wants to share their knowledge.

What is ManimCE?

Manim (just) is a project created by Grant Sanderson (3Blue1Brown) around 2015, he created it with the sole intention of making his own videos on YT.

This project did not have a clear direction, since the purpose of this library was the videos of Grant Sanderson. Starting in 2020, several programmers (with the approval of Grant Sanderson) created a fork of Manim called ManimCE, which is not supported by 3b1b, but by the community.

At the beginning of 2020 the Manim version of 3b1b (not ManimCE) changed the graphics engine, from PyCairo to OpenGL. The old version that used PyCairo was called ManimCairo, and the modern version was called ManimGL, both versions belong to 3b1b.

In summary, there are 3 versions of Manim:

  1. ManimCairo: The original version of Manim that uses PyCairo and is no longer supported by anyone, is currently hosted in the cairo-backend branch of the 3b1b repository.

  2. ManimGL: It is the new version that 3b1b uses to make its videos, it is the master branch of the 3b1b repository.

  3. ManimCE: It is a fork of ManimCairo, supported by the community, it currently uses PyCairo as the main graphics engine, but in the long run it is expected to move to OpenGL in the same way.

What do I need to know to learn Manim?

You need to have knowledge of OOP and package management in Python, if you only have basic programming knowledge you are going to suffer a lot.

It is also necessary to have knowledge of LaTeX to be able to write formulas.

Which version of Manim should I learn?

It depends, if you are a beginner it is best to learn ManimCE, it has better documentation, it is the most stable of the 3 versions and the community is very good. If you know how to use ManimCairo and you want higher speed, you can use ManimGL, which renders the videos in real time, the only problem is that it is the most unstable of the 3. I personally use all 3, each version has its good points and bad points.

If you come from ManimCairo or ManimGL and want to learn ManimCE here is a video made by me where I explain the main differences.

The most current version is 0.5.0, and it is constantly updated. I will try to keep this tutorial always up to date.

Warning

I am not part of the development community, please, if you find a bug or error, report it to the official repository.

Support this project

You can support this project on PayPal and Patreon

Or hire me as Freelance, see here all the information.