Manim, eine Animations-Engine für erklärende Mathematikvideos
(github.com/3b1b)- Manim ist eine präzise, programmierbasierte Animations-Engine zur Erstellung erklärender Mathematikvideos
- Das Projekt wurde vom Autor von 3Blue1Brown für die eigenen Lehrvideos entwickelt
- Es gibt auch eine Community-Fork-Version, die sich bei Bedienbarkeit, Beiträgen und Tests weiterentwickelt
- Es basiert auf Python und erfordert verschiedene Systemabhängigkeiten wie FFmpeg, OpenGL und LaTeX
- Als Open Source (MIT-Lizenz) kann es von allen frei genutzt und mitgestaltet werden
Bedeutung und Vorteile des Manim-Projekts
- Manim ist eine Open-Source-Animations-Engine, die entwickelt wurde, um mathematische und wissenschaftliche Konzepte visuell wirkungsvoll zu erklären
- Im Unterschied zu anderen Videotools lassen sich damit präzise codebasierte Animationen erstellen, was eine besondere Stärke bei der schrittweisen Visualisierung komplexer mathematischer Ideen ist
- Es wird direkt von 3Blue1Brown betrieben und gilt als einzigartiges Werkzeug, in dem Erfahrung und Know-how aus der Erstellung von Lehrvideos stecken
- Eine separate Community-Fork-Version wird ebenfalls aktiv weiterentwickelt, wodurch Verbesserungen für Entwicklerfreundlichkeit und Vielfalt schnell einfließen
Projektüberblick
- Manim ist eine präzise programmierte Animations-Engine für mathematische Erklärungen, mit der sich Formeln, geometrische Formen und vielschichtige Konzeptentwicklungen in Videos frei umsetzen lassen
- Ursprünglich begann es als Werkzeug für die Lehrvideos von 3Blue1Brown; der dafür genutzte spezielle Code ist auch in einem separaten Repository veröffentlicht
- 2020 wurde eine Community-Version geforkt, damit mehr Menschen das Tool leichter nutzen können; seitdem entsteht ein Ökosystem mit verbesserter Stabilität, Community-Beiträgen und Tests
Hauptmerkmale und Anforderungen
- Manim teilt sich in ManimGL (Original) und Manim Community Edition (Community-Fork)
- Da sich Installation und Nutzung je nach Version unterscheiden, sollte die gewünschte Version vorab festgelegt werden
- Bei der Installation per pip kann die Originalversion über den Paketnamen manimgl installiert werden
- Erforderlich ist Python 3.7 oder höher; zusätzlich werden FFmpeg, OpenGL und in bestimmten Umgebungen auch LaTeX sowie Pango für Linux benötigt
Nutzungshinweise (Beispiel)
- Es werden Beispiele mit Code, Szenendateien und Ausführungsbefehlen bereitgestellt
- Mehrere Beispielszenen und Dokumentationen sowie spezieller Code für echte 3Blue1Brown-Videos können eingesehen und genutzt werden
- Beim Ausführen über die Kommandozeile stehen verschiedene Flags zur Verfügung, darunter für
- das Speichern der Ergebnisdatei, das Überspringen ganzer Szenen, die Ausführung im Vollbild und weitere Ausgabeformen sowie benutzerdefinierte Umgebungen
- Über die Datei
custom_config.ymllassen sich Detailoptionen wie Stil, Qualität und Pfade konfigurieren
Dokumentation und Beiträge
- Die offizielle Dokumentation wird auf einer separaten Website bereitgestellt; außerdem sind eine chinesische Version und zusätzliche Custom-Ressourcen verfügbar
- Wie es sich für ein Open-Source-Projekt gehört, sind Pull Requests und Community-Beiträge ausdrücklich willkommen
- Das Projekt steht unter der MIT-Lizenz, sodass jede Person es frei anpassen und weiterverbreiten kann
Technische Informationen und Statistiken
- Es besteht hauptsächlich aus Python (96,3 %) und GLSL (3,7 %)
- Mit über 80.000 GitHub-Stars und 6.800 Forks zeigt sich eine hohe Popularität und aktive Community-Beteiligung
- Mehr als 167 Mitwirkende sind daran beteiligt
Zusammenfassung
- Manim ist eine Programmier-Animations-Engine, die auf präzise und detaillierte Mathematik- und Wissenschaftsvisualisierung spezialisiert ist
- Es ist besonders nützlich für Ersteller von Lehrvideos, Datenvisualisierungsexperten und Entwickler, die codebasierte Animationen benötigen
- Schnelle Lernkurve, anpassbare Umgebung sowie freie Beiträge und Community-Wachstum sind wichtige Alleinstellungsmerkmale
1 Kommentare
Hacker-News-Kommentare
Mit Coding-Assistenten funktioniert das in letzter Zeit nach eigener Erfahrung wirklich effektiv; mit Prompts wie „Ich brauche ein Diagramm, in dem sich Gleichung X in Y verwandelt“ bekomme ich fast immer auf Anhieb das gewünschte Ergebnis, wohl weil die einfache Syntax und die vielen Open-Source-Manim-Beispiele fürs Training genutzt wurden. Ich finde, das ist ein schönes Beispiel dafür, wie viel Zeit AI-Coding-Agents sparen können. Solange das fertige Video gut aussieht, muss man sich um die Details des Prozesses nicht kümmern, und genau das macht diese Arbeitsweise bequemer.
Ich erinnere mich an etwas aus einem Podcast mit Grant Sanderson: Er erwähnte, dass er versucht habe, Manim-Code automatisch mit einem LLM erzeugen zu lassen, das Ergebnis aber nicht besonders gut gewesen sei. Für mich bedeutet das letztlich, dass zwischen dem Manim-Können oder den Qualitätsmaßstäben, die wir im Kopf haben, und denen von Grant ein großer Unterschied besteht.
Ich frage mich, was passieren würde, wenn man die Dokumentation mit RAG kombinieren würde.
Ich habe Manim für Präsentationsfolien im Unterricht verwendet, und es war wirklich eine tolle Erfahrung. Viele Leute haben den Stil erkannt, und die Präsentation kam gut an. Außerdem hatte ich das Glück, Grant vor ein paar Jahren persönlich zu treffen. Als ich ihm sagte, dass ich Manim benutzt hatte, hat er sich aufrichtig darüber gefreut. Das ist mir besonders in Erinnerung geblieben. Er ist ein großartiger Mensch, der einen großen Beitrag zum Wissen und Verständnis der Menschheit leistet.
Ich finde, 3b1b ist wirklich ein Wunder des Internets. Die Animationen sind wunderschön, und die Erklärungen sind sorgfältig ausgearbeitet. Eine Sache verstehe ich allerdings nicht ganz: Wie kann eine einzige Bibliothek so viele unterschiedliche Konzepte als Animation umsetzen? Es wirkt, als müsste alles maßgeschneiderte Custom-Arbeit sein, aber vielleicht arbeitet Grant einfach auf einer höheren Ebene mathematischen Denkens.
Für die meisten Leute ist vermutlich eher der Link zur Community-Fork passend: Manim Community GitHub
Das von Grant entwickelte Projekt ist wirklich herausragend, weil hier nicht einfach ein Open-Source-Bibliotheksmaintainer am Werk ist, sondern jemand, dem die Domäne wirklich am Herzen liegt und der Expertise mitbringt, der ein Tool selbst entwickelt und pflegt, weil es für die konkrete Anwendung nichts Passendes gab. Bei der Community-Fork dagegen versuchen Leute, Infrastruktur aufzubauen und sie auf viele Use Cases auszurichten, statt sie eng am eigentlichen Zweck zu halten. Dadurch entfernt sie sich meiner Meinung nach zunehmend vom ursprünglichen Ziel, und die User Experience wird geopfert. Ich sehe darin den Unterschied zwischen etwas, das ein Fachentwickler baut, um seine Arbeit tatsächlich zu erledigen, und einer Fork, die eher zum Erhalt und zur Vermarktung gepflegt wird.
Ich frage mich, ob die Fork aus guten Gründen entstanden ist oder nur wegen einer Kontroverse. Ich habe zwar Erklärungen zur Fork gelesen, aber obwohl Grant das Original weiter pflegt, ist mir der genaue Grund noch immer nicht klar.
Ich suche schon länger intensiv nach einem codebasierten Animations-Renderer, der nicht auf Mathematik fokussiert ist, sondern auf allgemeine Infografiken, Diagramme und Motion Graphics. Die üblichen Wege wären After Effects, Davinci Fusion, Blender oder Cavalry, aber seit ich früher PovRay und später Manim ausprobiert habe, geht mir die Idee eines code-/textbasierten Motion-Graphics-Tools nicht mehr aus dem Kopf. In Kombination mit LLMs könnte das richtig aufblühen. In letzter Zeit sind zwar auch ChatGPT-basierte Motion-Graphics-Dienste erschienen, aber was ich mir wünsche, ist eher ein Tool mit Template-Code oder einer Sprache, mit der man für beliebige Daten wiederholt rendern kann, inklusive Offline-Nutzung und Automatisierung, statt eines webbasierten Videogenerators.
Als ich Manim vor etwa vier Jahren ausprobiert habe, litt es so sehr an „kwargs-itis“, dass praktisch alle Parameter als kwargs gesetzt wurden und Typannotationen unmöglich waren, was die Nutzung unnötig schwierig machte. Ich habe versucht, Verbesserungen anzustoßen, bekam aber kaum Resonanz. Deshalb würde mich interessieren, wie sehr sich das inzwischen geändert hat.
Dieses Projekt taucht auf HN oft auf und führt meist zu guten Diskussionen, daher hier statt des Diskussionslinks ein Suchlink: HN-Suchergebnisse zu manim
Ich frage mich, ob es eine Awesome-Liste gibt, die einen guten Überblick über die Manim-Softwarelandschaft bietet. Ich sammle unten ein paar Ressourcen:
Ich dachte eigentlich, auf HN seien doppelte Einreichungen desselben Links normalerweise nicht erlaubt. Kann man denselben Link doch mehrfach einreichen?
Ich sammle hier ältere HN-Diskussionen und Show-HN-Links zu Manim:
Die Ergebnisse, die Grant mit 3blue1brown und Manim geschaffen hat, sind wirklich beeindruckend. Dank der hohen Qualität der Videos und der Visualisierungen sind sogar abstrakte Themen leicht zu verstehen. Es steht zwar schon im README, aber ich möchte unbedingt noch das Demo-Video empfehlen, in dem Grant seinen Arbeitsprozess mit Manim zeigt (YouTube-Link).
Wirklich ein großartiges Projekt. Ich habe sofort an das eindrucksvolle alte Video Animation vs Math gedacht und deshalb geklickt: Animation vs Math auf YouTube. Ich mag Mathematik, aber riesige Graphen zu zeigen, ist meiner Meinung nach nicht unbedingt der beste Weg, sie Menschen näherzubringen.