
Manim (skrót od Mathematical Animation Engine) – otwartoźródłowy silnik do tworzenia animacji matematycznych napisany w języku Python. Powstał w 2015 roku jako narzędzie wewnętrzne Granta Sandersona, autora kanału edukacyjnego 3Blue1Brown. Oprogramowanie dostępne jest w dwóch głównych wersjach: oryginalnej manimgl oraz społecznościowej Manim Community Edition (ManimCE). Rozpowszechniane jest na licencji MIT.
Pierwsza wersja Manim powstała w 2015 roku jako autorskie narzędzie Granta Sandersona do tworzenia animacji w filmach publikowanych na kanale 3Blue1Brown. W 2020 roku grupa programistów utworzyła fork o nazwie Manim Community Edition (ManimCE), mający na celu ulepszenie dokumentacji, testów oraz otwarcie projektu na szerszy wkład społeczności.
Manim umożliwia tworzenie animacji sterowanych kodem źródłowym, co pozwala na pełną kontrolę nad ruchem, czasem trwania i efektami wizualnymi. Obsługiwane funkcje obejmują:
Do działania ManimCE wymagane są:
from manim import *
class SquareToCircle(Scene):
def construct(self):
circle = Circle()
square = Square()
square.flip(RIGHT).rotate(-3*TAU/8)
circle.set_fill(PINK, opacity=0.5)
self.play(Create(square))
self.play(Transform(square, circle))
self.play(FadeOut(square))
Manim wykorzystywany jest w filmach edukacyjnych, prezentacjach naukowych oraz materiałach szkoleniowych. Najbardziej znanym przykładem jego zastosowania są animacje na kanale 3Blue1Brown. Powstają także projekty pokrewne, jak ManimML, wspomagające wizualizację modeli uczenia maszynowego.
Rozwój ManimCE koordynuje społeczność skupiona wokół platform GitHub, Discord i forów programistycznych. W oficjalnej dokumentacji znajduje się galeria przykładów zawierająca kod i animacje. Aktualnie ManimCE działa na wersji 0.20.1.