多彩编程 多彩编程MZPH · CODE BLOG
ARTICLE DETAIL

文章详情

深耕前端与后端开发技术的一线实战笔记与踩坑复盘。

数学动画制作入门:7天用3Blue1Brown源码渲染出你的第一部作品

数学动画制作入门:7天用3Blue1Brown源码渲染出你的第一部作品 数学动画制作入门7天用3Blue1Brown源码渲染出你的第一部作品【免费下载链接】videosCode for the manim-generated scenes used in 3blue1brown videos项目地址: https://gitcode.com/GitHub_Trending/vi/videos先告诉你一个颠覆认知的事实3Blue1Brown官方源码库videos项目把十年间数百部数学动画的完整代码全部开源而驱动它们的正是免费的Python库Manim。对想做数学动画制作的你来说这是最扎实的入门教材——没有之一。更难得的是这个仓库藏着414个Python场景文件、12个年份目录从2015年一路更新到现在。你看过的每一帧傅里叶变换、每一次神经网络可视化都能在代码里逐行复盘。今天我不打算罗列功能清单而是带你走一遍完整的新手之路一个零基础的人如何在7天里跑通环境、读懂源码、做出自己的第一部数学可视化作品。第一章 第一天让3Blue1Brown源码在你电脑上跑起来本章收获完成环境搭建成功渲染出第一段动画视频。先讲为什么值得做这一步。这个仓库的目录结构本身就是一部编年史_2015到_2025每年一个文件夹你能顺着年份看到作者Grant Sanderson十年间创作手法的进化——早期代码朴素直接后来的场景越发精巧复杂。把这部活着的教科书跑起来就已经值回票价。Manim环境搭建的3个避坑要点第一步是克隆仓库并安装Manim。这里藏着第一个坑网上大多数教程教的是社区版manim而这个仓库用的是作者专用的老版manimgl两者命令不通用。别担心照着做就行git clone https://gitcode.com/GitHub_Trending/vi/videos cd videos pip install manimgl第二个坑是Python版本老版Manim对3.7左右的环境最友好版本太新反而报一堆兼容性错误。第三个坑是LaTeX——数学公式渲染全靠它装好texlive全家桶能省掉你后续90%的报错时间。环境就绪运行你的第一个动画试试看manimgl _2015/pythagorean_proof.py Triangle看着屏幕上的三角形用四种颜色拼出勾股定理的证明过程你会发现数学可视化其实离你并不远。实用提示第一天别贪多能成功渲染出哪怕1秒钟的画面就算胜利。先跑通再理解——这是仓库教给你的第一课。第二章 第三天用勾股定理动画读懂Manim核心概念本章收获看懂任意一个场景文件的代码结构读懂作者的设计思路。第三天要回答一个问题为什么值得读别人的源码因为这个仓库本身就是最好的Manim教程——没有教科书式的说教只有几百个真实可运行的案例。打开_2017/nn你能看到神经网络视频里用真实MNIST手写数字训练的全过程打开_2019/diffyq能看到微分方程如何被一步步拆解可视化。Manim的核心概念其实只有三个Scene场景、construct构造方法、play播放动画。任何一部视频都是一个场景里按顺序播放若干动画。以勾股定理文件为例它的核心代码长这样class Triangle(Polygon): def __init__(self, **kwargs): kwargs[color] C_COLOR Polygon.__init__(self, *POINTS, **kwargs) def add_all_letters(self): for char in abc: self.add_letter(char) return self大白话这段代码先定义了一个三角形再给三条边分别贴上a、b、c字母标签——数学动画的起点往往就是这么朴素。这里提醒你一个常见错误姿势一上来就大改源码把作者精心调校的参数改得面目全非。正确姿势是小步修改只改颜色、只调某个数字观察画面变化再逐步深入。实用提示遇到看不懂的类先找它的CONFIG配置块——这个仓库的作者习惯把长度、颜色、速度等参数集中定义在文件开头读懂CONFIG就读懂了大半个场景。第三章 第七天用custom组件库拼出你的原创动画本章收获复用作者的自定义组件完成一部原创作品并掌握渲染优化技巧。前六天你在读和跑第七天轮到写了。为什么敢让你这么快上手因为仓库的custom/目录就是作者的组件库会说话写字的Pi小人custom/characters/、开场动画、结束画面、背景模板全是现成的。你的原创动画大概率只是把这些积木重新拼装。比如你想做一个讲解函数图像的课堂动画骨架可以这么搭from manim_imports_ext import * class MyFirstScene(Scene): def construct(self): axes Axes() graph axes.get_graph(lambda x: x**2) self.play(Write(axes)) self.play(Transform(graph, graph.copy().scale(2))) self.wait()大白话画一个坐标系画一条抛物线然后让它放大两倍给你看——这就是一段可用的课堂演示动画。到了渲染环节新手最容易犯的错是直接上高分辨率结果一等就是半小时。记住让动画流畅运行的渲染优化技巧开发阶段先用-p预览确认效果再降分辨率测试manimgl my_scene.py MyFirstScene -p manimgl my_scene.py MyFirstScene -r 1280,720错误示例 vs 正确姿势盲目追求4K渲染错误→ 先用低分辨率确认动画逻辑定稿后再出高清正确。这个习惯能把你的调试时间压缩一半以上。至此你已经能用这套源码做三件很实际的事课堂演示把_2019/diffyq的微分方程动画搬进课件、科研配图参考_2024/linalg的特征值可视化给论文加料、在线课程借鉴_2023/clt的中心极限定理演示设计互动环节。实用提示动手前先看一眼custom_config.yml它是全局渲染配置分辨率、帧率、背景色都在这里改一处全项目生效。里程碑7天从入门到出片第1天装好环境跑通勾股定理动画第2天把年份目录翻一遍建立原来数学还能这么讲的直觉第3天读透一个场景文件掌握Scene、play、CONFIG三大概念第4天改颜色、调参数让别人的动画长出你的手纹第5天逛遍custom组件库画出自己的动画草图第6天拼装组件完成第一部原创场景第7天预览、低清调试、高清出片把成品发给第一个观众数学动画制作从来不是天才的专利它只是把抽象变成可见的手艺。而这个仓库就是十年间最顶尖的手艺人留下的完整工作台。记住一点每一个数学动画师都是从第一个简单的圆开始的。现在从第一行git clone开始吧。【免费下载链接】videosCode for the manim-generated scenes used in 3blue1brown videos项目地址: https://gitcode.com/GitHub_Trending/vi/videos创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表