Manim

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.
Historia
Pierwsza wersja Manim powstała w 2015 roku jako autorskie narzędzie Granta Sandersona do tworzenia animacji w filmach publikowanych na kanale 3Blue1Brown[1]. 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[2].
Funkcje
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ą[3]:
- rysowanie figur geometrycznych,
- wyświetlanie tekstu i wzorów w LaTeX,
- generowanie wykresów funkcji matematycznych,
- transformacje i animacje obiektów,
- efekty przejścia i zanikania.
Wymagania
Do działania ManimCE wymagane są:
Przykład kodu
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))
Zastosowania
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[5].
Społeczność
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[6]. Aktualnie ManimCE działa na wersji 0.20.1.