在本地跑3Blue1Brown的数学动画:用Manim完整复现微积分可视化
2026/9/15 19:59:00 网站建设 项目流程

在本地跑3Blue1Brown的数学动画:用Manim完整复现微积分可视化

【免费下载链接】videosCode for the manim-generated scenes used in 3blue1brown videos项目地址: https://gitcode.com/GitHub_Trending/vi/videos

本文带你逛一遍3Blue1Brown的videos仓库,它是该频道所有数学动画视频的官方开源代码,基于Manim库编写。花几分钟搭好环境后,你就能在本地渲染出《微积分的本质》系列的微积分可视化场景,亲眼看着导数从切线斜率里长出来。

Manim动画环境安装步骤

跑通这个仓库有一个前置条件:Manim要装对版本。这里用的是3b1b官方提供的manimgl命令,而不是社区版ManimCommunity,两个版本的API有差异,仓库里的代码直接跑在社区版上会报错。README里明确建议从源码安装manimgl,因为公开发布的包落后于最新代码。

另一个前置条件是LaTeX,场景里的数学公式靠它排版,Ubuntu上装好texlive相关组件即可。

两样都就绪后,克隆仓库,直接跑第一个场景:

git clone https://gitcode.com/GitHub_Trending/vi/videos cd videos manimgl _2017/eoc/chapter2.py GraphCarTrajectory

三步渲染第一个导数场景

屏幕上出现什么

GraphCarTrajectory是《微积分的本质》开篇的经典一幕。先是小车沿时间轴行驶,同时坐标系上画出位移曲线s(t):小车从静止逐渐加速,曲线由平缓变得陡峭。接着一个半透明小矩形沿曲线左右滑动,底边是Δt,竖边是Δs,合起来就是那一秒内的平均速度。

核心是一个函数

矩形滑完全程后,画面调用get_derivative_graph()画出第二条曲线v(t),也就是位移曲线的导数。对应关系一目了然:位移曲线最陡的地方,速度曲线最高;位移曲线趋于平坦的地方,速度曲线落回零线附近。函数源码就在_2017/eoc/chapter2.py,相关场景代码大约在第455到528行。

继续探索微积分可视化场景

从割线到切线

同一个文件里还有SecantLineToTangentLine:连接曲线上两点的割线随着两点相互靠近不断转动,最终停在切线上。极限在课本里只是一个符号,在这里是一段看得见"越逼近、却到不了"的动态过程。

正方形与幂法则

_2017/eoc/chapter3.py换了一个角度:NudgeSideLengthOfSquare把正方形边长拉长一点点,多出来的面积近似是2x·dx加dx²的小条,幂法则由此自然浮现;DerivativeOfSineIsSlope则直接从单位圆上读出正弦曲线的斜率。视频里那只说话的蓝色π定义在custom/characters/pi_creature.py,场景统一通过manim_imports_ext.py导入Manim基础库和这套自定义组件。

自己动手渲染微积分动画

常规渲染之外,manimgl还有两个实用参数:

  • -p可在窗口里快速预览,不生成视频文件
  • -se 行号停在指定行进入交互模式,像调试器一样逐步执行场景
  • 输出默认是4K、30fps,想省时间可以用分辨率参数降档渲染

看完导数场景后,下一步直接渲染_2017/eoc/chapter3.py里的NudgeSideLengthOfSquare:看着正方形边长被拉长、面积实时变化,验证你对幂法则的直觉和屏幕上的画面是否一致。

【免费下载链接】videosCode for the manim-generated scenes used in 3blue1brown videos项目地址: https://gitcode.com/GitHub_Trending/vi/videos

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询