如何用Manim数学动画引擎做出第一个数学动画:ManimGL新手实践完整指南 如何用Manim数学动画引擎做出第一个数学动画ManimGL新手实践完整指南【免费下载链接】manimAnimation engine for explanatory math videos项目地址: https://gitcode.com/GitHub_Trending/ma/manimManim是一个数学动画引擎能把公式、函数图像变成逐帧精确的动画视频。本文以3Blue1Brown官方维护的ManimGL为对象带你完成安装、跑通第一个示例场景并渲染出属于你的第一段数学动画。它是做什么的这是一款代码驱动的动画引擎最初由知识频道3Blue1Brown的创始人为自己的视频编写。你用Python写数学内容函数曲线、公式变形、矩阵作用Manim逐帧渲染并用FFmpeg编码成视频。因为每一帧都由数学本身算出来动画天然和数学严格一致而不是手绘的近似。如果你是数学或物理教师、知识视频创作者或者想直观理解某个概念的学生它都很合适前提只是会基本Python语法和命令行操作。这个仓库是作者亲自维护的OpenGL渲染版本安装包名叫manimgl导入名叫manimlib。注意它和同名的社区版manim是两套代码安装命令与API互不通用README里专门警告不要把两个版本的安装说明混用所以动手前先认准版本。 最小可运行路径环境准备ManimGL安装命令ManimGL要求Python 3.10及以上。系统层面先装FFmpegUbuntu执行sudo apt install ffmpegLaTeX只在你要用Tex渲染公式时需要Linux上Text另需Pango开发库libpango1.0-dev。首次跑通建议按仓库自带的开发方式安装# 需要 Python 3.10 git clone https://gitcode.com/GitHub_Trending/ma/manim cd manim pip install -e .如果不想克隆仓库也可以直接pip install manimgl命令行入口同样是manimgl。最小示例第一个Scene怎么写在与manimlib/目录同级的位置即仓库根目录新建start.py写入下面的代码。它只做三件事造两个图形、画出来、再变形from manimlib import * class SquareToCircle(Scene): def construct(self): circle Circle() circle.set_fill(BLUE, opacity0.5) circle.set_stroke(BLUE_E, width4) square Square() # self.play 驱动逐帧动画先画出正方形 self.play(ShowCreation(square)) self.wait() # 再把正方形变形替换为圆完成第一次变换 self.play(ReplacementTransform(square, circle)) self.wait()这里就浓缩了Manim的三个核心概念Scene是动画的容器Circle、Square这类Mobject是画面上一切可绘制对象ShowCreation、ReplacementTransform这类Animation交给self.play去播放。结果验证如何预览与保存先在窗口里看效果再渲染成视频# 窗口预览按 q 退出 manimgl start.py SquareToCircle # 渲染视频保存到 start.py 同级的 videos/ 目录 manimgl start.py SquareToCircle -w第一条命令会弹出播放窗口可以滚轮平移画面按q退出第二条逐帧渲染完成后mp4出现在videos/目录。看到正方形被画出并变成圆整个链路就跑通了。三个高频实用任务不等整段动画播完快速看最终画面场景一长每次看完整动画很慢。加-so参数Manim直接跳到结尾把最终帧存成图片到images/目录并打开给你看例如manimgl start.py SquareToCircle -so。想跳到中途就用-n 3从第3个动画开始。调布局、配色时这个习惯最省时间。跑内置的函数图像演示画坐标系的范例已经写在example_scenes.py里。运行manimgl example_scenes.py GraphExample可以看到正弦曲线、ReLU、阶梯函数依次被画出还有一个点沿抛物线移动CoordinateSystemExample则演示了用Axes放点、画辅助线。在自己的场景里axes Axes((-3, 10), (-1, 8))配合axes.get_graph(lambda x: 2 * math.sin(x))就能画出函数图像参数用法直接对照源码。交互模式加快开发迭代写场景时在希望暂停的位置加一行self.embed()运行manimgl start.py SquareToCircle后命令行会进入IPython终端直接输入play(Rotate(circle, 90 * DEG))、add、wait等语句即可即时看到效果不用重跑整个文件。也可以什么都不写直接运行manimgl进入空白交互窗口。这是作者迭代视频内容时的常用工作流。⚠️ 避坑清单装了包却报命令不存在或照社区版教程跑报错。原因本仓库是ManimGL包名是manimgl与社区版manim不是一套代码README明确警告两者安装说明不可混用。解法全程按本版本的manimgl命令走也可用python -m manimlib加相同参数验证环境是否可用。场景里含Tex或Text时运行报错。原因系统组件没装Tex依赖LaTeX发行版Linux上的Text依赖Pango开发库。解法Ubuntu先执行sudo apt install texlive-science texlive-latex-extra texlive-fonts-extra并安装libpango1.0-dev再重跑场景。pip install成功但manimgl: command not found。原因pip放置可执行文件的目录不在PATH里。解法用pip show manimgl查看安装位置把对应的bin或Scripts目录加入PATH或临时改用python -m manimlib执行相同参数。渲染很慢或成片质量不达预期。原因默认按1920x1080、30fps渲染见manimlib/default_config.yml中camera.resolution与camera.fps-w是完整逐帧渲染。解法开发阶段用-l低质量或-s只出最终帧快速预览正式输出用--hd或--uhd输出目录、背景色等可在custom_config.yml里覆盖。 下一步去哪安装详解与系统依赖从零写第一个场景 Quick Start全部示例场景逐段讲解CLI 参数与 custom_config.yml 配置说明内置示例代码 与 动画实现目录、数学对象目录先跑一遍manimgl example_scenes.py OpeningManimExample -w确认videos/里出现了成片。然后从example_scenes.py里挑一个场景删掉几行看效果如何变化。上手之后把示例里的函数和公式换成你自己的教学内容即可。【免费下载链接】manimAnimation engine for explanatory math videos项目地址: https://gitcode.com/GitHub_Trending/ma/manim创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考