1. 程式人生 > 其它 >用Python製作高逼格數學動畫manim

用Python製作高逼格數學動畫manim

簡介

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

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

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

版本說明

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

目前manim有三個版本:

3b1b 舊版:3blue1brown 自己維護的版本,使用 Cairo 作為後端。
3b1b 新版:3blue1brown 自己維護的版本,使用 OpenGL 和 moderngl 來進行 GPU 渲染,優點是速度快。
manim 社群版

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

我比較信任Grant Sanderson 大神,所以直接學習了新版。

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貢獻程式碼就更好了。

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

視訊原始碼:https://github.com/nipunramk/Reducible

祝大家學的愉快,也歡迎交流學習,這一塊我也是小白呢。