Manim 用 Python 制作高逼格数学动画
引言
Manim 是一款基于 Python 的开源动画引擎,专为数学、物理等领域的可视化设计而打造,尤其擅长将抽象概念转化为动态、直观的动画演示。
Manim介绍
Manim简介及版本
Manim 原先是由Grant Sanderson开发的一个动画引擎,用在他的Youtube频道3Blue1Brown - YouTube,旨在用动画直观解释数学的一些问题。随着他的YouTube频道变得流行,其他开发者也想用Manim来开发,于是有了社区版。目前Manim有如下版本(详情见Differences between Manim Versions):
- ManimCE: The community edition of manim, named manim on pip.
- ManimGL: The current version of manim that is used by 3blue1brown. It supports OpenGL rendering and interactivity, and is named manimgl on pip. You can find documentation for it here.
- ManimCairo: The old version of manim originally used by 3blue1brown. It is not available on pip.
选用哪个版本
ManimGL渲染更快,Manim社区版,提供Jupyter Notebooks ,声称更稳定。Manim社区版说2021年4月会全部支持OpenGL。
核心功能与特性
-
数学公式与几何图形
- 支持 LaTeX 语法,可动态展示公式推导过程(如微积分、线性代数)。
- 内置多种几何对象(点、线、圆、多边形等),支持复杂图形的组合与变换。
-
动画控制与编程
- 通过 Python 代码精确控制动画的每一步,包括运动轨迹、时间轴、镜头切换等。
- 提供
Create
、Transform
、FadeIn
等多种动画类型,支持缓动函数和自定义插值。
-
物理模拟与数据可视化
- 结合
manim-physics
插件实现刚体运动、碰撞、电磁学等物理现象模拟。 - 可生成柱状图、折线图、3D 曲面等数据可视化效果,适用于科研与教学。
- 结合
-
跨平台与高质量输出
- 支持 Windows、macOS、Linux 系统,输出视频格式包括 MP4、GIF 等,最高支持 4K 分辨率。
- 依赖 FFmpeg 进行视频渲染,支持多线程加速。
安装与配置
推荐安装方式(以社区版为例):
-
Python 环境
- 建议使用 Python 3.10 及以上版本。
- 创建虚拟环境(可选):
python -m venv manim-env
。
-
依赖库安装
# 安装核心库 pip install manim # 安装物理模拟插件(可选) pip install manim-physics # 安装语音同步插件(可选) pip install