用Python制做高逼格数学动画manim

2022年01月16日 阅读数:3
这篇文章主要向大家介绍用Python制做高逼格数学动画manim,主要内容包括基础应用、实用技巧、原理机制等方面,希望对大家有所帮助。

简介

manim是斯坦福大学数学系小哥Grant Sanderson开源的数学仿真模拟python库,并用于YouTube 频道3Blue1Brown,来解说高等数学。html

manim是一个很是优秀的数学动画制做引擎,先来两个GIF感觉一下 manim 的魅力:
python

不少同窗应该在 B 站看过3b1b的视频,最经典的就是线性代数的本质系列。
git

版本说明

manim 初学者可能会有些许困惑,网上的代码、文档、教程等差别太大,不知道该跟着那个学习。github

目前manim有三个版本:算法

by:鹤翔万里 & widcardw

3b1b 旧版:3blue1brown 本身维护的版本,使用 Cairo 做为后端。
3b1b 新版:3blue1brown 本身维护的版本,使用 OpenGL 和 moderngl 来进行 GPU 渲染,优势是速度快。
manim 社区版:manim 旧版的衍生,更新更活跃,有很好的文档和社区支持。windows

我比较信任Grant Sanderson 大神,因此直接学习了新版。后端

manimgl 环境搭建

manimgl 这个版本的安装特别简单数据结构

一、安装配置FFmpeg和LaTex
https://ffmpeg.org/download.html
FFmpeg,下载安装便可,把安装路径添加到环境变量便可ide

https://mirror.ctan.org/systems/texlive/tlnet/install-tl-windows.exe
LaTex更简单,一路下一步便可。学习

二、建立虚拟环境

conda create -n manim python=3.8
conda activate manim

三、安装manimgl包

pip install manimgl

也能够clone最新的源码进行安装

git clone https://github.com/3b1b/manim.git
cd manim
pip install -e .

这样还能测试一下是否安装成功了。

manimgl example_scenes.py OpeningManimExample

学习资源

官方文档:
https://3b1b.github.io/manim

中文文档:
https://docs.manim.org.cn/

3b1b 视频源码:

https://github.com/3b1b/videos

manim 源码:
https://github.com/3b1b/manim

学习顺序,能够先看中/英文文档,而后就动手制做本身的动画吧。
若有余力,能够抽空看看3b1b的视频源码,若是能为manim贡献代码就更好了。

最近在youtube上看到了一个用 manim 制做了数据结构与算法的视频,挺强的。

视频源码:https://github.com/nipunramk/Reducible

祝你们学的愉快,也欢迎交流学习,这一块我也是小白呢。