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
[edytuj | edytuj kod]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
[edytuj | edytuj kod]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
[edytuj | edytuj kod]Do działania ManimCE wymagane są:
- Python w wersji 3.7 lub nowszej,
- FFmpeg,
- OpenGL,
- (opcjonalnie) pełna instalacja LaTeX w celu renderowania równań matematycznych[4].
Przykład kodu
[edytuj | edytuj kod]frommanimimport * classSquareToCircle(Scene): defconstruct(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
[edytuj | edytuj kod]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ść
[edytuj | edytuj kod]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.
