前言

在数据可视化、数学演示和教学动画领域,Manim 可谓是一款神器。它是由 3Blue1Brown 频道的作者 Grant Sanderson 开发的 Python 动画引擎,能够让用户以编程的方式创建精美的数学动画。无论是函数曲线、几何变换,还是复杂的物理模拟,Manim 都能轻松实现。

然而,许多初学者在尝试 Manim 时,往往会遇到安装困难、语法生疏或动画制作流程不清晰等问题。为此,本文将从 安装 Manim 到基础使用,再到进阶技巧,带你逐步掌握这款强大的工具,助你高效绘制 Python 动画。

1、Manim是什么

Manim(Mathematical Animation Engine的缩写)是由知名数学教育频道3Blue1Brown创始人Grant Sanderson开发的Python动画引擎。能够让用户以编程的方式创建精美的数学动画。无论是函数曲线、几何变换,还是复杂的物理模拟,Manim 都能轻松实现。

这个最初为制作数学科普视频而生的工具,如今已发展成为集科学可视化、教学演示、艺术创作为一体的跨领域平台。

https://www.manim.community/

2、安装 manim 依赖

2.1 安装 LaTeX(可选)

为满足不同使用场景的公式渲染需求,Manim开发者可灵活选择以下两种LaTeX安装方案:

2.1.1 轻量版安装(按需加载)

  • Windows → MiKTeX(勾选自动安装缺失包)

  • macOS → BasicTeX + tlmgr管理

  • Linux → sudo apt install texlive-latex-base

2.1.2 完整发行版(一劳永逸)

2.2 安装 ffmpeg

FFmpeg是Manim的视频编码核心引擎,负责将生成的帧序列转换为MP4等视频格式,如同动画电影的后期制作流水线。

https://ffmpeg.org/download.html

2.3 安装 Python 环境

Manim是基于Python开发的动画引擎,Python环境是其运行的基础框架,就像动画电影需要摄影棚一样。

对于Manim开发环境的配置,开发者可根据需求选择以下两种Python安装方案:

2.3.1 独立Python安装

https://www.python.org/
  • 优势:系统纯净、资源占用小、完全控制依赖版本

  • 包管理:通过pip直接安装所需库

  • 适用场景:熟悉虚拟环境(venv)的开发者、需要精准控制依赖版本的项目

2.3.2 Anaconda发行版(推荐给数据科学/机器学习开发者)

Anaconda官网下载安装包(默认包含Python和600+科学计算库)

https://www.anaconda.com/
  • 优势:开箱即用、内置conda包管理器、方便管理多环境

  • 包管理:优先使用conda install,次选pip install

  • 适用场景:跨平台开发、需频繁切换不同Python版本、依赖复杂科学计算库的项目

3、Manim的安装与验证

3.1 安装Manim

接下来,我们可以安装manim包了。我们可以简单地通过pip进行安装,在python环境下,在命令行中运行:

python -m pip install manim

或者我们也可以通过conda进行安装。首先,为manim新创建一个虚拟环境,在conda终端中运行:

conda create -n my_manim_env python=3.11
conda activate my_manim_env

然后再我们创建的my_manim_env下安装manim:

conda install -c conda-forge manim

至此,我们就完成了manim的安装。

3.2 Manim验证

在完成manim的安装后,我们可以通过下面的脚本来验证manim是否能够正常使用:

from manim import *

class TransformExample(Scene):
    def construct(self):

        banner = ManimBanner()
        banner.shift(UP * 0.5)
        self.play(banner.create(), run_time=1)
        self.play(banner.animate.scale(0.3), run_time=0.5)
        self.play(banner.expand(), run_time=1)

        t = Text("测试中文能否显示").next_to(banner, DOWN * 2)
        tex = VGroup(
            Text("测试数学公式:", font_size=30),
            Tex(r"$\sum_{n=1}^\infty \frac{1}{n^2} = \frac{\pi^2}{6}$"),
        )
        tex.arrange(RIGHT, buff=SMALL_BUFF)
        tex.next_to(t, DOWN)
        self.play(Write(t), run_time=1)
        self.play(Write(tex), run_time=1)

        self.wait()

运行下面的代码,执行脚本:

 manim -p .\sample.py

manim的默认输出为.mp4文件,并会在渲染完成后自动播放,使用:

 manim -i .\sample.py 

可以得到.gif文件。

TransformExample_ManimCE_v0.19.0

最终,得到如下结果,说明manim安装成功。