Skip to content

概述 ​

manim-live 把标准 Manim(Python)代码变成网页里的实时动画:不需要服务器,也不需要本机 Python。两个典型用法——AI 讲解时即写即演,以及在自己的网站任意位置嵌入渲染。

与原生 Manim 的差别 ​

代码是同一份标准 Manim Python,差别只在「在哪里执行、如何产出画面」:

原生 Manim(CLI)manim-live
写的代码标准 Manim Python同一份代码,原样可跑
运行环境本机装 Python + manim + ffmpeg(公式还要 LaTeX)浏览器即可,零安装
出画面方式命令行离线渲染成 mp4,播放与嵌入需自行解决网页内实时渲染,代码贴入即播放
嵌入网页或产品做不到,只能事后嵌视频文件任意位置嵌入,一个容器元素即可
AI 边讲边画单次渲染需等待整条管线完成,无法配合讲解节奏即写即演;check() 先把有问题的代码拦在渲染之前
部署成本每台机器装一遍环境,或架渲染服务器一个 npm 包;资源可自托管,完全离线也能跑

取舍只有一条:公开 API 437 项实测可用约 90%——基础图形、坐标系、文本公式、动画、updater、3D 等主力场景全覆盖;缺的 43 项多数冷门且都有替代写法,逐项清单见支持面。换来的是浏览器里的实时渲染与零环境。

包的形态 ​

一个 npm 包,入口只有一个工厂 createManimRenderer():传入一个容器元素,拿到 run(code) 与 dispose()。对框架零依赖——React、Vue、原生 JS 只是挂载时机不同。第三方 Python 库(pandas、matplotlib 等)按需自动获取,取数地址可以换成自托管,完全离线也能跑,见第三方包。

适用场景 ​

适用:AI 对话 UI 里渲染模型生成的动画(本包正是为该场景而做);教学页面、交互式笔记按需绘制数学动画;用 check() 干跑预检,把有问题的代码拦在渲染之前。

不适用:服务器端批量渲染视频(用 manim CLI 原生管线);Manim 全量能力(本包覆盖 Manim CE 的常用子集,边界见 API 参考);非 Python 的动画需求。

从哪开始 ​

  • 装包、两项外部资源、浏览器要求 → 安装
  • 约二十行代码跑出第一幅画面 → 快速开始
  • 每个方法、属性、钩子的类型定义与例子 → API 参考

MIT licensed · Manim 与 Pyodide 各依其自身许可(见「安装」)