尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

Manim 数学动画引擎快速上手:1 条命令装好,3 行代码出片

Manim 数学动画引擎快速上手:1 条命令装好,3 行代码出片 Manim 数学动画引擎快速上手1 条命令装好3 行代码出片【免费下载链接】manimAnimation engine for explanatory math videos项目地址: https://gitcode.com/GitHub_Trending/ma/manimManim 是一个数学动画引擎专门用来做解释性视频。你用 Python 写出函数、几何变换和公式它替你逐帧渲染成精确的动画。适合做数学课、算法演示、科普内容的创作者和学生。为什么需要 Manim手动画帧太慢了用剪辑软件手动画一条正弦曲线你得反复拖帧、对齐、改色动辄几小时。Manim 的思路反过来把数学本身写成代码。比如曲线是 y sin(x)动画是从左往右画出来。引擎会精确算出每一帧上每个点的位置你只描述意图不碰帧率。打个比方它更像给打印机下达指令而不是逐字逐句手抄。上面这张图就是引擎输出的典型画面坐标轴、曲线、切线和面积块全部由代码生成帧帧精确。安装前检查 3 件事装之前先确认环境能省掉大半排查时间Python 3.10 及以上低版本直接跑不起来FFmpeg负责把渲染结果编码成视频文件OpenGLManimGL 靠它做 GPU 实时渲染LaTeX 可选只有要渲染公式Tex对象时才需要Linux 用户额外需要Pango及其开发头文件一条命令装好 ManimGL先说清楚版本本仓库是 3Blue1Brown 的 ManimGL包名叫manimgl不是社区版那个manim。安装前务必想好用哪个两边命令不能混用。直接安装pip install manimgl manimgl # 输入后能看到交互式帮助即说明装好了如果你要改manimlib源码本身走源码安装git clone https://gitcode.com/GitHub_Trending/ma/manim cd manim pip install -e .第一个示例的运行方法新建start.py粘贴这段最小可运行代码from manimlib import * class SineWave(Scene): def construct(self): axes Axes((-3, 3), (-2, 2), height5) # 建坐标系 axes.add_coordinate_labels() # 加刻度 graph axes.get_graph(math.sin, colorYELLOW) # 画 sin 曲线 label axes.get_graph_label(graph, Text(sin(x))) self.play(Write(axes)) # 动画 1写出坐标轴 self.play(ShowCreation(graph), FadeIn(label)) # 动画 2曲线生长 self.wait()执行顺序固定为三步预览manimgl start.py SineWave会弹出窗口实时播放出片manimgl start.py SineWave -w -o存成视频并自动打开快速验证终帧manimgl start.py SineWave -so只存最后一帧的图片常用参数速查参数作用-w把场景写成视频文件-o写出并自动打开-s跳过播放直接显示终帧-so存终帧为图片-n 2跳到第 2 个动画再开始播放-f全屏播放调长场景时-n特别好用不用从头等直接跳到出问题的第几段。三个高频使用场景函数图像动画仓库自带的 example_scenes.py 里就有现成场景。跑一下试试manimgl example_scenes.py GraphExample效果是坐标轴先写出正弦曲线逐笔生长接着替换成 ReLU、阶跃函数最后抛物线上一个红点随参数滑动。核心 API 就是Axes.get_graph、ShowCreation和ValueTracker一个可动画的数值容器。3D 曲面与镜头控制manimgl example_scenes.py SurfaceExample这个场景继承ThreeDScene会展示带纹理的球面和环面相机还能跟着动画平移旋转光源位置也能动画。因为底层是 OpenGL 实时渲染窗口里还能用鼠标直接拖视角这是很多离屏渲染方案做不到的。交互式开发self.embed()写场景最磨人的是反复改参数重跑。在construct里插一行self.embed()程序会暂停并弹出 IPython 终端。当前变量都在作用域里你可以直接接着敲self.play(...)不用每次重启整段代码。调试布局阶段建议养成这个习惯。避坑清单这些问题最花时间别混版本pip install manimgl和社区的pip install manim是两套东西安装命令、包名互相不通用没装 LaTeX 就别用Tex普通文字用Text只有公式才走 LaTeX 渲染快速验证用-so和-n改完先截终帧看一眼别每次都等完整播放动画统一用.animate语法如obj.animate.shift(LEFT)比手写 Transform 省事输出路径和默认画质写在custom_config.yml里把它放在你执行 manim 的目录下即可覆盖默认值用虚拟环境python3 -m venv venv后再装避免污染系统 PythonManimGL 和社区版怎么选Manim 目前有两个主要分支同宗同源但维护路线不同ManimGL本仓库原作者 3Blue1Brown 的 OpenGL 版主打实时 3D、交互窗口和 GPU 渲染工作流和他的视频生产一致但更新节奏较慢社区版2020 年分叉而来目标是更稳定、测试更全、社区响应更快对新手更友好包名是manim选择建议想复刻 3b1b 式实时交互、或者重度依赖 3D 镜头选 ManimGL做正式课程、团队协作、要长期维护选社区版。两者 API 风格相近迁移成本不高但开工前先定好版本。下一步想继续深入读一读 官方文档的快速上手或者打开 example_scenes.py 把里面的场景逐个跑一遍——这是最快的学习路径。【免费下载链接】manimAnimation engine for explanatory math videos项目地址: https://gitcode.com/GitHub_Trending/ma/manim创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表