B站最火數(shù)學(xué)視頻3Blue1Brown是如何制作的
看完這篇教程,你也能做出一樣酷炫的視頻
授權(quán)轉(zhuǎn)發(fā)自 知乎網(wǎng)友 李狗嗨
原文地址:https://www.zhihu.com/question/57357012/answer/723888621
相信很多人都知道3Blue1Brown,這是一個由斯坦福大學(xué)的數(shù)學(xué)系學(xué)生Grant Sanderson 創(chuàng)建的YouTube 頻道。該頻道從獨(dú)特的視覺角度解說高等數(shù)學(xué),內(nèi)容包括線性代數(shù)、微積分、神經(jīng)網(wǎng)絡(luò)、黎曼猜想、傅里葉變換以及四元數(shù)等等。
本人通過該視頻頻道獲得了很多啟發(fā),同時也對其精良的視頻制作技術(shù)產(chǎn)生了濃厚的興趣。
偶然的機(jī)會,得知其在Github上有專門開設(shè)了一個視頻制作引擎:manim。
所以,突然想嘗試用一下該基于Python的可視化引擎,如果可以實(shí)現(xiàn)功能,以后就可以根據(jù)自己的需要利用該引擎進(jìn)行動畫演示。
網(wǎng)上找了一些相關(guān)的文章,有的寫得很好,但是因?yàn)樵撻_源代碼庫更新頻繁,所以以前的配置教程往往會有過時的情況?,F(xiàn)在最新的版本是基于Python 3的,以前的基于Python 2.7的教程已經(jīng)不再適用于當(dāng)前代碼。所以在安裝過程中,遇到了不少新問題,在解決的過程中記錄了這些新問題的解決方法。并形成此文。(測試于2019年6月)
在配置前首先得安裝Python 3,這個安裝過程在此處不再贅述。建議通過Anaconda進(jìn)行安裝,而不是直接安裝Python。這里的演示也是基于Windows 10 系統(tǒng),在安裝Anaconda的基礎(chǔ)上完成的。Anaconda的下載地址為:
建議選擇安裝Python 3.7 version,具體按照步驟網(wǎng)上有很多。
除此之外,還要下載:
- manim:https://github.com/3b1b/manim,選擇clone or download,然后Download ZIP,解壓后到一個合適的位置(路徑中不要包含中文!),即可使用(此為manim引擎所包含的全部文件);
- miktex:https://miktex.org/download,直接安裝即可,(路徑中不要包含中文!)(此為windows平臺下的Tex套件,TeX 是一種排版語言,主要用于處理視頻中包含的文字信息);
- ffmpeg:https://ffmpeg.zeranoe.com/builds/,下載好后,放到一個合適的路徑下(路徑中不要包含中文!),解壓后將../bin/目錄添加進(jìn)用戶環(huán)境變量(見后圖)(此為音視頻流處理軟件)
- dvisvgm:https://dvisvgm.de/Downloads/ ,64位的用戶請注意選擇64位的安裝包,下載好后,放到一個合適的路徑下(路徑中不要包含中文!),解壓后將../dvisvgm/目錄添加進(jìn)用戶環(huán)境變量(見后圖)(此為可以將dvi轉(zhuǎn)換為高質(zhì)量svg的軟件)。
添加進(jìn)用戶環(huán)境變量的方法
右擊“我的電腦”圖標(biāo)-“屬性”-左邊的”高級系統(tǒng)設(shè)置”
選擇”環(huán)境變量”-“用戶變量”中的”Path”-“編輯”-“新建”。
然后把解壓后的FFmpeg的bin文件夾的路徑和dvisvgm的dvisvgm文件夾路徑添加進(jìn)去,并選擇確定。然后進(jìn)行環(huán)境測試,看各個依賴環(huán)境是否都配置妥當(dāng)(注意:按照個人安裝的實(shí)際路徑進(jìn)行添加,圖中只是一個參考)。
在Anaconda Prompt 中通過命令行配置并測試
具體方法是:右擊”Anaconda Prompt”-“更多”-“以管理員身份運(yùn)行”
這一步很重要,因?yàn)槿绻灰怨芾韱T身份運(yùn)行很可能帶來權(quán)限不夠的情況,妨礙后期的各個程序包的安裝。
在命令行中分別輸入下列命令,并回車運(yùn)行:
python -version
latex -version
xelatex -version
ffmpeg --version
dvisvgm --version
如果都有類似于上面的版本提示,則說明依賴的軟件安裝成功,否則,回去檢查安裝或用戶路徑的添加是否正確。
打開前面下載并解壓后的manim文件夾,在其中添加一個空白文件夾“media”,并新建一個名字為“MEDIA_DIR.txt”的.txt文件。
在”MEDIA_DIR.txt”文件中輸入剛剛新建的”media”文件夾所在的路徑并保存。
回到Anaconda Prompt中,輸入:
cd <manim 的根目錄>
該命令的意思是:跳轉(zhuǎn)到manim的根目錄中(注意:按照個人安裝的實(shí)際路徑進(jìn)行添加,圖中只是一個參考)。
然后輸入(手機(jī)上如果看不到此處的全部代碼,請?jiān)诖a處左右滑動或在電腦上打開該文章):
python -m pip install -r requirements.txt
這個安裝過程中常見的問題是“pycairo”這個包安裝異常。
解決方法是先輸入并運(yùn)行:
conda install vs2015_runtime
然后再單獨(dú)安裝“pycairo”這個包,輸入并運(yùn)行:
conda install pycairo
現(xiàn)在,基本的東西都安裝好了。嘗試著運(yùn)行一下測試命令:
python -m manim example_scenes.py SquareToCircle -pl
在運(yùn)行的時候可能會有形如:ModuleNotFoundError: No module named的錯誤提示,這說明還缺少程序包。請運(yùn)行命令(注意:<pack name>改為對應(yīng)缺失的程序包的名字,命令中不含括號或引號):
pip install <pack name>
一個特例是readline包,如果提示“ModuleNotFoundError: No module named ‘readline’”,則需要輸入的是:
pip install pyreadline
安裝好提示缺少的包后再輸入并運(yùn)行:
python -m manim example_scenes.py SquareToCircle -pl
缺什么程序包就按照上面的方法添加該程序包,直到命令可以通過:
此時打開media文件夾將找到生成的視頻,表示的是正方形變成圓形的動畫演示:
同理,輸入命令:
python -m manim example_scenes.py WarpSquare -pl
得到一個向復(fù)平面映射的動畫:
輸入命令:
python -m manim example_scenes.py WriteStuff -pl
此過程中會提示安裝一些程序包,為了加快編譯進(jìn)度,可以點(diǎn)擊去掉那個復(fù)選框的勾選,默認(rèn)安裝所有需要的程序包。得到的是具有3b1b經(jīng)典風(fēng)格的文字動畫:
輸入命令:
python -m manim example_scenes.py UpdatersExample -pl
將得到一個數(shù)據(jù)隨圖形位置變化的動畫:
是不是手癢了?23333。
如果安裝成功,感謝點(diǎn)贊支持,如果配置遇到什么問題,歡迎在評論區(qū)留言~
(注:本教程僅針對Windows 10 64位系統(tǒng))
3Blue1Brown的B站主頁:
https://space.bilibili.com/88461692