天天看點

用 python 制作高逼格的數學動畫

平時大家可能總會看到各種炫酷的數學動畫,卻不知用什麼制作的,本次給大家推薦一個可以制作數學動畫的神器: manim 。

manim 是斯坦福大學數學系小哥Grant Sanderson開源的數學仿真模拟python庫,并用于YouTube 頻道3Blue1Brown,來解說高等數學。

私信小編01即可擷取大量Python學習資源

manim是一個非常優秀的數學動畫制作引擎,先來兩個GIF感受一下 manim 的魅力:

用 python 制作高逼格的數學動畫
用 python 制作高逼格的數學動畫

很多同學應該在 B 站看過3b1b的視訊,最經典的就是線性代數的本質系列。

用 python 制作高逼格的數學動畫

版本說明

manim 初學者可能會有些許困惑,網上的代碼、文檔、教程等差異太大,不知道該跟着那個學習。

目前manim有三個版本:

用 python 制作高逼格的數學動畫

by:鶴翔萬裡 & widcardw

3b1b 舊版:3blue1brown 自己維護的版本,使用 Cairo 作為後端。

3b1b 新版:3blue1brown 自己維護的版本,使用 OpenGL 和 moderngl 來進行 GPU 渲染,優點是速度快。

manim 社群版:manim 舊版的衍生,更新更活躍,有很好的文檔和社群支援。

我直接學習了新版。

manimgl 環境搭建

manimgl 這個版本的安裝特别簡單

1、安裝配置FFmpeg和LaTex

https://ffmpeg.org/download.html

FFmpeg,下載下傳安裝即可,把安裝路徑添加到環境變量即可

https://mirror.ctan.org/systems/texlive/tlnet/install-tl-windows.exe LaTex

更簡單,一路下一步即可。

2、建立虛拟環境

conda create -n manim python=3.8
conda activate manim           

3、安裝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貢獻代碼就更好了。

用 python 制作高逼格的數學動畫

最近在youtube上看到了一個用 manim 制作了資料結構與算法的視訊,就挺強的。

用 python 制作高逼格的數學動畫

視訊源 碼:

https://github.com/nipunramk/Reducible