LogoAIRosetta

Math-To-Manim 项目详解:从文本到数学物理动画的智能生成器

GitHub

SummaryMath-To-Manim 是开源 Python 项目,能将自然语言提示自动生成 Manim 数学/物理动画与学习笔记。采用“反向知识树”递归构建概念依赖,多代理管道驱动(Claude Sonnet 4.5、Kimi K2),支持 LaTeX 渲染、55+ 示例与 MIT 许可。

项目概述

Math‑To‑Manim 是一个开源的 Python 项目,托管在 GitHub 上(https://github.com/HarleyCoops/Math‑To‑Manim),旨在帮助用户从简单的自然语言提示(如“解释量子场论”)自动生成高质量的数学和物理动画,以及配套的学习笔记。该项目由 HarleyCoops 开发,于 2025 年 11 月前不断迭代,目前已积累 55+ 个工作示例,涵盖物理、数学、计算机科学、宇宙学等领域。不同于传统 AI 工具依赖海量训练数据,Math‑To‑Manim 采用“反向知识树”(Reverse Knowledge Tree)创新方法,从基础概念递归构建复杂主题,确保动画逻辑严谨、数学精确,并支持 LaTeX 渲染。

项目核心目标是解决 AI 生成动画的痛点:传统提示往往模糊,导致 LaTeX 错误、概念跳跃或视觉不连贯。通过多代理系统和 Claude Sonnet 4.5 等大模型驱动,它能输出 2000+ 令牌的详细提示,生成 Manim 框架兼容的 Python 代码,最终渲染为 MP4 视频。项目采用 MIT 许可,适合教育、研究和内容创作,支持从高中水平到研究生级别的复杂主题。2025 年 11 月 6 日新增 Kimi K2 实现,进一步提升了工具调用和 API 兼容性。截至当前(2025 年 11 月 14 日),项目星标数已超 1000,社区活跃。


核心创新:反向知识树

Math‑To‑Manim 的最大亮点是“反向知识树”算法。这是一种递归先决条件发现机制,避免了“一刀切”提示的局限性。传统方法如“简单提示 → 模式匹配 → 随机输出”,易出错且无法处理新概念。反向知识树则反其道而行:

  • 输入:用户提示,如“解释宇宙学”。
  • 过程:递归询问“在理解 X 之前,需要掌握什么?”例如,从宇宙学追溯到广义相对论,再到狭义相对论、洛伦兹变换,直至高中物理基础。
  • 输出:构建概念依赖图,从基础向上层叠加 LaTeX 公式、视觉隐喻和叙事弧线。

这一方法无需训练数据集,仅靠 Claude Sonnet 4.5 的推理能力,即可生成连贯的动画路径。未来计划集成 Nomic Atlas 语义知识图谱,实现 10 倍加速的先决条件缓存和社区共享数据库(详见 docs/NOMIC_ATLAS_INTEGRATION.md)。这种“自底向上”构建确保动画教育性强,避免“先讲高级再补基础”的常见问题。

系统架构:多代理管道

项目采用 6 代理系统(第 7 个 VideoReview 代理开发中),基于 Claude Agent SDK 构建,支持自动上下文管理和工具集成(如文件操作、代码执行)。管道流程如下:

  1. ConceptAnalyzer:解析提示,识别核心概念、领域和难度(如量子力学的高中 vs. 研究生级)。
  2. PrerequisiteExplorer:核心代理,递归构建知识树,生成依赖图。
  3. MathematicalEnricher:为每个节点添加 LaTeX 公式,确保数学严谨(如 QED 拉格朗日密度 LQED=ψˉ(iγμDμ−m)ψ−14FμνFμν\mathcal{L}_{\text{QED}} = \bar{\psi}(i \gamma^\mu D_\mu ‑ m)\psi ‑ \tfrac{1}{4}F_{\mu\nu}F^{\mu\nu}LQED​=ψˉ​(iγμDμ​−m)ψ−41​Fμν​Fμν)。
  4. VisualDesigner:设计视觉元素,如相机移动、颜色方案(电场红波、磁场蓝波)和过渡动画。
  5. NarrativeComposer:从基础到目标织叙事,生成 2000+ 令牌详细提示。
  6. CodeGenerator:翻译为 Manim Python 代码,支持 LaTeX 渲染。

新增 Kimi K2 管道(KimiK2Thinking/ 文件夹)使用 OpenAI 兼容 API 和工具调用,提供结构化数据提取,专注于 LaTeX 而非 Manim 类实现。整个管道耗时 1‑2 分钟,渲染视质量而定(低质 10‑30 秒,高质 1‑5 分钟)。

安装方法

安装简单,支持 Windows/Linux/macOS。需 Python 3.10+、FFmpeg(视频渲染)和 Manim v0.19.0。最低 8GB RAM,推荐 16GB;GPU 可选加速渲染。

1、克隆仓库:

git clone https://github.com/HarleyCoops/Math-To-Manim
cd Math-To-Manim

2、安装依赖:

pip install -r requirements.txt

(包含 Manim、Claude SDK 等;无互联网安装额外包)。

3、设置 API 密钥:

  • Claude:echo "ANTHROPIC_API_KEY=your_key_here" > .env(从 Anthropic 获取)。
  • Kimi K2:echo "MOONSHOT_API_KEY=your_key_here" >> .env(Moonshot AI)。

4、安装 FFmpeg:

  • Windows:choco install ffmpeg(需 Chocolatey)。
  • Linux:sudo apt‑get install ffmpeg。
  • macOS:brew install ffmpeg。

验证安装:运行 manim ‑‑version,确保 v0.19.0。完整要求见 requirements.txt。

使用方法

项目提供 Gradio UI、CLI 和示例运行三种方式。初学者推荐 UI。

1、Gradio 界面(推荐新手):

python src/app_claude.py
  • 浏览器打开 localhost:7860。
  • 输入提示,如“可视化毕达哥拉斯定理”或“解释最优传输理论”。
  • 代理自动构建树、生成代码,渲染视频。支持 Kimi 模式切换。

2、Kimi K2 管道(CLI):

# 测试集成
python KimiK2Thinking/examples/test_kimi_integration.py
# 运行完整管道(需 tree.json)
python KimiK2Thinking/examples/run_enrichment_pipeline.py tree.json

详见 KimiK2Thinking/README.md。适用于批量处理。

3、运行示例动画: 项目有 examples/ 文件夹,按主题分类。使用 Manim CLI:

# 量子力学示例
manim -pql examples/physics/quantum/QED.py QEDJourney
# 几何示例
manim -pql examples/mathematics/geometry/pythagorean.py PythagoreanScene
# 宇宙学
manim -pql examples/cosmology/Claude37Cosmic.py CosmicScene

标志解释:

  • ‑p:渲染后预览。
  • ‑q:质量(l 低、m 中、h 高、k 4K)。
  • ‑l:低分辨率加速测试。

4、生成学习笔记:将 Manim 代码回传 LLM,提示“生成 LaTeX 学习笔记”,输出 PDF 就绪文档。

常见提示技巧:使用 LaTeX 丰富描述,如“显示 Minkowski 时空度规 ds2=−c2dt2+dx2+dy2+dz2ds^2 = ‑c^2 dt^2 + dx^2 + dy^2 + dz^2ds2=−c2dt2+dx2+dy2+dz2,高亮时间分量”。

示例与应用

项目包含 55+ 示例,分类详尽(见 docs/EXAMPLES.md)。按难度分:

  • 基础(高中级):geometry/pythagorean.py ⁠–⁠ 毕达哥拉斯定理证明,展示三角形分解和面积动画。
  • 中级(本科):mathematics/analysis/optimal_transport.py ⁠–⁠ 最优传输理论,动画显示 Wasserstein 距离和粒子流动。
  • 高级(研究生):physics/quantum/QED.py ⁠–⁠ QED 之旅,包含费曼图、拉格朗日密度和重整化流。
  • 前沿(研究级):computer_science/machine_learning/GRPO.py ⁠–⁠ 群相对策略优化,展示 RL 中的奖励整形和梯度流动。
  • 创意:misc/recursive_rhombicosidodecahedron.py ⁠–⁠ 递归菱形二十面体分形,3D 变换自相似几何。

实际应用:教育者用它创建讲义动画;研究者可视化如 ProLIP(概率视觉语言模型)的对比学习。示例无需手动编辑,直接从单提示生成。

支持模型

项目跨模型兼容,示例使用多种 LLM 捕捉多样视角:

  • Claude Sonnet 4.5:主代理系统,优于递归推理和上下文管理(Claude SDK)。
  • Kimi K2:Moonshot AI,新管道,支持工具调用和思考模式,成本低、API 易集成。
  • DeepSeek R1:量子物理示例,强于精确公式。
  • Gemini 2.5 Pro:QED 可视化备选。
  • Grok 3:量子力学路径(xAI 模型)。
  • Qwen Max:数学分析。
  • Mistral Large:引力波。

切换模型:编辑 .env 或代理脚本。Claude 为默认,Kimi 适合 OpenAI 生态。

常见问题与解决方案

  • LaTeX 错误:代理验证公式;出错时,回传错误提示 LLM 修正。
  • 渲染慢:用 ‑ql 测试,低 RAM 场景分段运行。
  • 无 GPU:CPU 足矣,Manim 原生支持。
  • 商业使用:MIT 许可允许,建议署名。
  • 准确性:LaTeX 强制精确,知识树确保逻辑;社区测试覆盖边缘案。

未来计划

短期(1‑2 月):完善 VideoReview 代理、测试套件和知识树可视化 UI。中期(3‑6 月):Nomic Atlas 集成,实现语义图谱和 10x 加速。长期(6‑12 月):社区平台、动画库和 RL 微调。当前状态:重构至 Claude SDK,示例齐全(2025 年 11 月)

CopyrightStatement

Comment

Please login before commenting

NoComments

RelatedNews

LoadingMore

Math-To-Manim 项目详解:从文本到数学物理动画的智能生成器 - Airosetta News