Manim

Manim_icon
Logo 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. 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.

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ą:

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.

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. Aktualnie ManimCE działa na wersji 0.20.1.

Zobacz też

Przypisy