Communitygithub.com

aminqaseminia/manim-animation

Erstellen Sie mathematische, wissenschaftliche und technische Animationen mit Manim Community – Gleichungen, Beweise, Graphen, Koordinatensysteme, Geometrie, Algorithmen, Datenstrukturen und präzise Diagrammtransformationen. Verwenden Sie dies, wenn die Korrektheit mathematischer Beziehungen im Mittelpunkt steht, für Bildungs-Erklärvideos, Forschungs- oder Konferenzvisualisierungen und für animierte Herleitungen, bei denen jedes Element exakt platziert sein muss. Umfasst Installation mit uv, Szenendesign, LaTeX/MathTex, Kamera- und 3D-Szenen, Rendering-Qualitätsvoreinstellungen und Compositing mit anderen Tools.

Was ist manim-animation?

Das Manim-Animation-Skill ermöglicht die Erstellung präziser mathematischer, wissenschaftlicher und technischer Videos mit der Manim Community Engine. Es ist ideal, wenn exakte mathematische Beziehungen, Koordinatensysteme, Gleichungen oder Algorithmen visuell dargestellt werden sollen. Das Skill unterstützt die Installation mit uv und Python 3.12, bietet Szenenvorlagen für LaTeX/MathTex, Kamerasteuerung und 3D-Szenen, sowie verschiedene Rendering-Qualitätsvoreinstellungen (von 480p bis 4K). Es enthält klare Regeln für das Szenendesign (eine Idee pro Szene, zurückhaltende Kamerabewegungen, sinnvolle Transformationen) und Validierungsschritte, um mathematische Fehler auszuschließen. Das Skill ist für Claude Code optimiert und stellt sicher, dass Animationen exakt und reproduzierbar sind.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/aminghaseminia/blender-animation-skill/tree/HEAD/skills/manim-animation

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Manim-Animation – Mathematische und technische Videos

Manim ist eine Python-Engine für erklärende Animationen. Ihre Stärke liegt in der Exaktheit: Eine Formel, ein Graph oder eine Konstruktion kann als mathematisch definiertes Objekt animiert werden, nicht als Näherung in einem Designwerkzeug.

Lesen Sie references/MANIM-PLAYBOOK.md für Muster und Code. Überprüfen Sie Flags anhand der installierten Version: https://docs.manim.community/en/stable/

1. Wann Manim wählen

Wählen Sie Manim, wenn:

  • Gleichungen, Symbole oder Beweise das Thema sind.
  • Koordinatensysteme, Graphen, Vektoren oder geometrische Konstruktionen exakt sein müssen.
  • Ein Algorithmus, eine Datenstruktur oder ein Prozess schrittweise visuell erklärt werden soll.
  • Beschriftungen an einem mathematischen Objekt ausgerichtet sein müssen, nicht an einer manuell platzierten Bildposition.
  • Der Stil zurückhaltend und diagrammatisch sein soll, nicht filmisch.

Verwenden Sie Manim nicht für: filmisches 3D, markenlastige Werbevideos, bewegte Typografie oder interaktive Ausgaben. Dafür sind Blender, Remotion oder Webgrafiken zuständig.

2. Installation (isoliert, reproduzierbar)

uv --version                     # uv zuerst installieren, falls nicht vorhanden
uv init --python 3.12 manim-project
cd manim-project
uv add manim
uv run manim --version

Linux benötigt oft native Bibliotheken:

sudo apt update
sudo apt install build-essential python3-dev pkg-config libcairo2-dev libpango1.0-dev ffmpeg
sudo apt install texlive texlive-latex-extra texlive-fonts-recommended   # für MathTex/Tex

macOS: brew install cairo pango pkg-config ffmpeg und eine TeX-Distribution wie MacTeX, wenn MathTex verwendet wird. Windows: Installieren Sie FFmpeg und MiKTeX/TeX Live; für Cairo/Pango-Räder können Microsoft C++ Build Tools erforderlich sein.

Überprüfen:

uv run manim --version
uv run python -c "import manim; print(manim.__version__)"

Installieren Sie Manim nicht in das systemweite Python, wenn eine Projektumgebung verfügbar ist. Notieren Sie die Version in der Projekt-README.

3. Rendering-Befehle

# Vorschau mit niedriger Qualität (schnell)
uv run manim -pql scenes/explain.py ExplainScene

# mittel
uv run manim -qm scenes/explain.py ExplainScene

# hoch / Produktion
uv run manim -qh scenes/explain.py ExplainScene

# 4K
uv run manim -qk scenes/explain.py ExplainScene

# transparenter Hintergrund
uv run manim -qh -t scenes/explain.py ExplainScene

# bestimmter Abschnitt
uv run manim -qh scenes/explain.py ExplainScene -n 12,20

Qualitätsvoreinstellungen: -ql 480p15, -qm 720p30, -qh 1080p60, -qk 2160p60. Überprüfen Sie dies in der installierten Version. Die Ausgabe liegt in media/videos/<datei>/<qualität>/.

ffprobe -v error -show_entries stream=width,height,r_frame_rate,duration \
  -of json media/videos/explain/1080p60/ExplainScene.mp4

4. Regeln für das Szenendesign

  • Eine Idee pro Szene. Teilen Sie in Scene-Unterklassen auf; komponieren Sie ein längeres Video durch Verkettung, nicht durch eine einzige riesige Szene.
  • Legen Sie Palette und Schriftarten einmalig in einem Modul (theme.py) fest und importieren Sie sie, anstatt Hex-Werte zu wiederholen.
  • Halten Sie die Kamera zurück. Manims MovingCameraScene ist leistungsstark und leicht zu übertreiben; zoomen Sie nur, um eine Struktur zu zeigen, die der Betrachter sonst nicht sehen würde.
  • Respektieren Sie die Dauer. Eine Formelableitung, die bei 3 Minuten gut lesbar ist, wirkt bei 40 Sekunden gehetzt. Berechnen Sie die Verweildauer anhand der Lesegeschwindigkeit, nicht nach Intuition.
  • Behalten Sie Beschriftungen an das von ihnen beschriebene Objekt gebunden (Tex + next_to), damit eine spätere Layoutänderung die Ausrichtung nicht stillschweigend zerstört.
  • Verwenden Sie Transform/ReplacementTransform für Bedeutung, FadeIn/FadeOut für Präsenz. Das Verformen unzusammenhängender Formen verwirrt Zuschauer.
  • Animieren Sie nicht jedes Element unabhängig. Gruppieren Sie mit VGroup und staffeln Sie bewusst.

5. Kompositionsrezept

from manim import *

class ExplainScene(Scene):
    def construct(self):
        title = Text("Warum die Ableitung ein Grenzwert ist", font="Inter").scale(0.7)
        self.play(Write(title), run_time=1.2)
        self.wait(0.6)
        self.play(title.animate.to_edge(UP).scale(0.8), run_time=0.9)

        formula = MathTex(r"f'(x) = \lim_{h \to 0} \frac{f(x+h)-f(x)}{h}")
        formula.scale(1.2)
        self.play(Write(formula), run_time=1.6)
        self.wait(1.2)

        self.play(formula.animate.set_color_by_tex(r"h \to 0", YELLOW), run_time=0.8)
        self.wait(1.5)

6. Export und Übergabe

  • -qh erzeugt 1080p60 mit hoher Bitrate; kodieren Sie für die Auslieferung neu, anstatt das Zwischenprodukt zu versenden.
  • Transparenz: -t schreibt eine .mov mit Alpha (oder eine PNG-Sequenz mit --format=png). Überprüfen Sie das Alpha über einem Schachbrettmuster, bevor Sie es kombinieren.
  • Um Manim mit Remotion/Blender zu kombinieren: gleichen Sie FPS und Auflösung an und setzen Sie dann mit FFmpeg oder Remotion zusammen. Manim verwendet standardmäßig 60 FPS bei -qh; ändern Sie config.frame_rate oder konvertieren Sie bewusst.
  • Für Marken-Intros/Outros und Untertitel rendern Sie Manim-Szenen sauber und kombinieren Sie sie in Remotion – kämpfen Sie nicht gegen Manims Typografie-System für Marken-Layouts.

7. Validierung

  • Betrachten Sie den Render mit niedriger Qualität vor dem mit hoher Qualität; mathematische Fehler sind bei 480p sichtbar.
  • Prüfen Sie, dass keine Formel am Bildrand abgeschnitten wird und keine Beschriftung eine andere überlappt.
  • Überprüfen Sie, dass LaTeX ohne stille Fallbacks kompiliert wurde (achten Sie auf rote Textwarnungen in der Konsole).
  • Bestätigen Sie die endgültige Dauer und Bildrate mit ffprobe.
  • Lesen Sie jedes Symbol laut gegen die beabsichtigte Mathematik; ein umgedrehtes Vorzeichen ist ein Korrektheitsfehler, keine Stilentscheidung.

8. Häufige Fehler

SymptomUrsacheLösung
latex: command not foundKeine TeX-DistributionInstallieren Sie TeX Live/MiKTeX oder verwenden Sie Text statt MathTex
Cairo/Pango-Build-FehlerFehlende native BibliothekenInstallieren Sie die oben aufgeführten Dev-Pakete
Formel wird als roter Fehlertext dargestelltLaTeX-Syntax oder fehlendes PaketÜberprüfen Sie die Konsole; fügen Sie TexTemplate-Pakete hinzu
Alles sieht verschwommen ausNiedrige QualitätsvoreinstellungRendern Sie final mit -qh/-qk
Griechischer/arabischer Text defektSchriftart hat keine Glyphen oder kein ShapeVerwenden Sie eine shape-fähige Schriftart, testen Sie ein Standbild oder rastern Sie den Text
Rendern sehr langsam60 FPS + 4K + komplexe PfadeVorschau mit -ql, Pfade vereinfachen, Szenen aufteilen
Transparenz verlorenFalsches FormatVerwenden Sie -t und einen alpha-fähigen Container; überprüfen Sie es

9. Offizielle Referenzen

Individual skills in this repo

This repo contains 5 individual skills — each has its own dedicated page.

aminghaseminia/blender-animation

Build 3D animations in Blender headlessly with Python (bpy) — scene setup, materials, lighting, camera rigs, keyframe and procedural animation, Geometry Nodes, particles and simulations, EEVEE/Cycles rendering, and MP4/PNG-sequence output. Triggers include "animate in Blender", "blender python", "bpy script", "3D logo animation", "cinematic render", "particle animation", "product turntable", "render an .blend", "blender headless", or any 3D scene, camera move, or motion graphics job that needs real geometry, light, and depth.

aminghaseminia/motion-design

Art direction and motion-design craft for animation projects — creative briefs, storyboards, style frames, colour and type systems, composition, timing and easing, transition vocabulary, sound direction, accessibility, and right-to-left (Persian/Arabic) typography. Use before building scenes, when a video looks amateur or generic, when choosing palette and fonts, when a request says "make it feel premium/cinematic/modern", or when text, rhythm, or hierarchy is not landing. Tool-agnostic; pairs with blender-animation, remotion-motion-graphics, and manim-animation.

aminghaseminia/motion-studio

End-to-end animation and motion-graphics production from a natural-language brief. Routes work to Blender (3D), Remotion (2D/typography/data), Manim (math/science), motion-design craft, and FFmpeg (encode/composite/validate), then builds, previews, inspects, revises, and delivers an editable project plus final MP4. Use for any request to "make an animation", "create a video", "animate this logo", "render a motion graphic", "vibe-code an animation", or produce a promo, explainer, title sequence, or social clip.

aminghaseminia/remotion-motion-graphics

Create 2D motion graphics as code with Remotion and React — kinetic typography, logo reveals, explainers, animated charts, UI demos, social clips, subtitles, and data-driven or batch-rendered video. Use when the deliverable is primarily layout, text, and 2D graphics rather than real 3D; when a video must be generated from data or a template; or when a Blender 3D pass needs titles, captions, and transitions composited on top. Covers project setup, deterministic frame-based animation, easing, typography, audio, rendering, and licensing.

aminghaseminia/video-composition

Assemble, mix, normalize, and validate finished video from Blender, Remotion, Manim, screen capture, and audio sources using FFmpeg and FFprobe — concatenation, overlays, alpha compositing, subtitle burn-in, loudness, fades, speed ramps, GIF/thumbnail export, and platform-specific encodes. Use when combining scenes, fixing mismatched resolutions or frame rates, adding music/voice-over, burning captions, converting formats, or verifying that a rendered file is actually correct.

Verwandte Skills