使用Python快樂學(xué)數(shù)學(xué)Github萬星神器Manim簡(jiǎn)介
高考在即,筆者想為孩子以后能夠快樂學(xué)習(xí)數(shù)學(xué)、學(xué)習(xí)編程找到一個(gè)比較合適的項(xiàng)目,經(jīng)過一番比較發(fā)現(xiàn)github上的萬星項(xiàng)目manim(https://github.com/3b1b/manim)就非常好。它能夠快速構(gòu)建有關(guān)數(shù)學(xué)的動(dòng)畫,而且非常精確形象。

安裝Manim
雖然manim已經(jīng)支持Python3.7的,不過安裝起來還是比較麻煩,我在ubantu18.04上直接使用安裝的過程如下:
1.首先嘗試直接使用pip install manimlib命令安裝,但是會(huì)有以下報(bào)錯(cuò)
Cannot uninstall 'pycairo'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.
2.pip安裝失敗后使用git命令安裝
sudo apt install sox ffmpeg libcairo2 libcairo2-dev sudo apt install texlive-full git clone https://github.com/3b1b/manim cd manim pip install -r requirement.txt
這里還是會(huì)報(bào)錯(cuò),使用gedit requirement.txt將pycairo兩行去掉,再執(zhí)行pip install -r requirement.txt命令。
3.單獨(dú)安裝pycairo
使用以下命令強(qiáng)制升級(jí)就可以了。
sudo pip install pycairo --upgrade --ignore-installed pycairo
4.安裝manim
確保在manim的目錄下執(zhí)行
python setup.py install
即可完成安裝了。
windows下安裝manim實(shí)在太痛苦了,得把c的編譯環(huán)境,git for windows等等通通裝一遍,不建議嘗試,如果執(zhí)意不想放棄windows請(qǐng)考慮在ubantu虛擬機(jī)裝manim
體驗(yàn)Manim
1.運(yùn)行例程
使用以下命令就可以看到本文開頭的動(dòng)畫了
python extract_scene.py example_scenes.py SquareToCircle -pl
2.manim例程概述
打開manim目錄下的example_scenes.py找到“class SquareToCircle”一段,這也就是我們剛剛生成動(dòng)圖的代碼具體如下:
class SquareToCircle(Scene):
def construct(self):
circle = Circle()#定義圓
square = Square()#定義方形
square.flip(RIGHT)#放置正確位置
square.rotate(-3 * TAU / 8)#逆時(shí)針旋轉(zhuǎn)3/8pi
circle.set_fill(PINK, opacity=0.5)#背景定為粉色,不透明度0.5
self.play(ShowCreation(square))#顯示方形
self.play(Transform(square, circle))#由方變圓
self.play(FadeOut(square))#圓形淡出
其中第1、2行circle = Circle()和 square = Square()其實(shí)就是定義圓形和正方形兩個(gè)物體,后面使用在第3行調(diào)用flip()函數(shù)將正方形放到正確的位置上。然后調(diào)用第4行調(diào)用rotate()函數(shù),在逆時(shí)針方向旋轉(zhuǎn)3/8pi的角度。第5行調(diào)用set_fill()將圓形的填充顏色設(shè)置為粉紅色,不透明度設(shè)置為0.5,具體也可以參考我上面的注釋。以上這些參數(shù)都可以自行修改設(shè)置,改好之后再調(diào)用
python extract_scene.py example_scenes.py SquareToCircle -pl
就能重新生成好新的圖像。 當(dāng)然這只是manim的最簡(jiǎn)單入門的用法,也可以定義許多其它的方法,比如這個(gè)

不可否認(rèn)manim的確是數(shù)學(xué)展示動(dòng)畫制作的神器,建議當(dāng)爸爸的程序員們趕快學(xué)起來吧,培養(yǎng)孩子對(duì)幾何的興趣效果還不錯(cuò)。
總結(jié)
以上所述是小編給大家介紹的使用Python快樂學(xué)數(shù)學(xué)Github萬星神器Manim簡(jiǎn)介,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
相關(guān)文章
Python3中的re.findall()方法及re.compile()
這篇文章主要介紹了Python3中的re.findall()方法及re.compile(),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-05-05
opencv調(diào)整圖像亮度對(duì)比度的示例代碼
本文通過實(shí)例代碼給大家介紹了opencv調(diào)整圖像亮度對(duì)比度,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-09-09
python入門基礎(chǔ)之用戶輸入與模塊初認(rèn)識(shí)
Python的強(qiáng)大之處在于他有非常豐富和強(qiáng)大的標(biāo)準(zhǔn)庫和第三方庫,幾乎你想實(shí)現(xiàn)的任何功能都有相應(yīng)的Python庫支持。下面通過本文給大家介紹python入門基礎(chǔ)之用戶輸入與模塊初認(rèn)識(shí),一起看看吧2016-11-11
Pandas 透視表和交叉表的實(shí)現(xiàn)示例
本文主要介紹了Pandas 透視表和交叉表的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-07-07
Python 使用 consul 做服務(wù)發(fā)現(xiàn)示例詳解
這篇文章主要介紹了Python 使用 consul 做服務(wù)發(fā)現(xiàn)示例詳解,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-03-03

