loading

Loading

首页 经验分享

Manim(3B1B) 备忘录

分类:经验分享
字数: (2072)
阅读: (22)
0

Manim 笔记

前几天用 Manim 生成了几张函数图片作为配图,感觉效果挺不错的,但怕以后忘了怎么用,所以写一篇备忘笔记

一、 环境配置 (Windows 11)

Manim 是一个“胶水”程序,除了 Python 库本身,还需要安装视频处理和排版工具

  1. 安装核心依赖 FFmpeg
    不要去官网下载解压,直接用 Windows 终端(管理员)安装,自动配置环境变量
winget install Gyan.FFmpeg

安装完成后需重启终端,输入 ffmpeg -version 确认安装成功

  1. 安装 Python 库
pip install manim
  1. (可选) 安装 LaTeX

如果需要渲染完美的数学公式(如积分符号、分数),需要安装 MiKTeX

winget install MiKTeX

注意:如果不装 LaTeX,代码中只能使用 Text 组件,不能使用 MathTex


二、 编写第一个脚本

创建一个名为 demo.py 的文件

写一个最经典的 “正方形变圆形” 动画作为测试。

from manim import *

# 配置:设置背景为白色 (默认是黑色)
config.background_color = WHITE

class SquareToCircle(Scene):
    def construct(self):
        # 1. 定义物体
        square = Square(color=BLUE, fill_opacity=0.5) # 蓝色正方形
        circle = Circle(color=RED, fill_opacity=0.5)  # 红色圆形

        # 2. 初始摆放
        self.add(square)

        # 3. 播放动画 (持续 2 秒)
        # Transform 变换:从正方形平滑变成圆形
        self.play(Transform(square, circle), run_time=2)

        # 4. 停顿 1 秒
        self.wait(1)

三、 启动与运行

Manim 不能直接在 VS Code 里点击“运行”按钮。它必须通过命令行(终端)启动,因为它需要接收渲染参数

最简单的启动办法就是先打开 demo.py 所在文件夹,接着在文件夹里面右击,选择在终端中打开

然后输入渲染命令,命令的基本格式如下:

manim [参数] [文件名.py] [类名]

快速预览 (低画质 + 自动播放)

写代码时调试用,速度最快

manim -pql demo.py SquareToCircle

生成成品 (4K 高画质 + 导出图片)

如果只是想要一张封面图,或者最终的高清视频

# 生成 4K 视频
manim -pqk demo.py SquareToCircle

# 仅生成最后一帧图片
manim -pqk -s demo.py SquareToCircle

如果渲染成功的话就会自动弹出视频自动播放

当然也有比较麻烦的渲染方法

打开终端 (Terminal / PowerShell / CMD),必须先 cd 到脚本所在的文件夹

(例如 E:\python\2026)

E:
cd E:\python\2026

四、 常用参数速查表

在命令行中,这些“旗标”决定了输出的质量和格式:

参数 含义 英文全称 备注
-p 预览 Preview 渲染完自动打开文件播放
-q 质量 Quality 后面必须跟具体等级 (l/m/h/k)
-ql 低质量 Low 480p, 15fps (调试用,极快)
-qh 高质量 High 1080p, 60fps (默认)
-qk 超高清 4k 2160p, 60fps (最终输出用)
-s 保存图片 Save Image 只渲染最后一帧并保存为 PNG
-t 透明背景 Transparent 导出透明通道的 .mov (用于视频剪辑)

五、 常见报错

  1. 'manim' 不是内部或外部命令

    • 原因:Python 的 Scripts 目录未加入环境变量。
    • 解决:尝试使用 python -m manim ... 代替 manim ...
  2. latex: major issue

    • 原因:使用了 MathTex 但未安装 MiKTeX,或者 MiKTeX 正在试图弹窗询问安装包。
    • 解决:改用 Text 组件,或者打开 MiKTeX Console 设置为 "Always install missing packages"。
  3. 没有任何反应

    • 原因:忘记加 -p 参数,导致视频生成了但没自动弹出来播放。
    • 解决:去项目目录下的 media/videos/ 文件夹里找生成的视频文件。

转载请注明出处: Zephem

本文的链接地址: https://zephem.top/23.html

评论列表:
empty

暂无评论