使用Python快樂學數(shù)學Github萬星神器Manim簡介
高考在即,筆者想為孩子以后能夠快樂學習數(shù)學、學習編程找到一個比較合適的項目,經(jīng)過一番比較發(fā)現(xiàn)github上的萬星項目manim(https://github.com/3b1b/manim)就非常好。它能夠快速構(gòu)建有關(guān)數(shù)學的動畫,而且非常精確形象。
安裝Manim
雖然manim已經(jīng)支持Python3.7的,不過安裝起來還是比較麻煩,我在ubantu18.04上直接使用安裝的過程如下:
1.首先嘗試直接使用pip install manimlib
命令安裝,但是會有以下報錯
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
這里還是會報錯,使用gedit requirement.txt
將pycairo兩行去掉,再執(zhí)行pip install -r requirement.txt
命令。
3.單獨安裝pycairo
使用以下命令強制升級就可以了。
sudo pip install pycairo --upgrade --ignore-installed pycairo
4.安裝manim
確保在manim的目錄下執(zhí)行
python setup.py install
即可完成安裝了。
windows下安裝manim實在太痛苦了,得把c的編譯環(huán)境,git for windows等等通通裝一遍,不建議嘗試,如果執(zhí)意不想放棄windows請考慮在ubantu虛擬機裝manim
體驗Manim
1.運行例程
使用以下命令就可以看到本文開頭的動畫了
python extract_scene.py example_scenes.py SquareToCircle -pl
2.manim例程概述
打開manim目錄下的example_scenes.py
找到“class SquareToCircle”一段,這也就是我們剛剛生成動圖的代碼具體如下:
class SquareToCircle(Scene): def construct(self): circle = Circle()#定義圓 square = Square()#定義方形 square.flip(RIGHT)#放置正確位置 square.rotate(-3 * TAU / 8)#逆時針旋轉(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()
其實就是定義圓形和正方形兩個物體,后面使用在第3行調(diào)用flip()函數(shù)將正方形放到正確的位置上。然后調(diào)用第4行調(diào)用rotate()函數(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
就能重新生成好新的圖像。 當然這只是manim的最簡單入門的用法,也可以定義許多其它的方法,比如這個
不可否認manim的確是數(shù)學展示動畫制作的神器,建議當爸爸的程序員們趕快學起來吧,培養(yǎng)孩子對幾何的興趣效果還不錯。
總結(jié)
以上所述是小編給大家介紹的使用Python快樂學數(shù)學Github萬星神器Manim簡介,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!
相關(guān)文章
Python實現(xiàn)Selenium自動化Page模式
這篇文章主要介紹了Python實現(xiàn)Selenium自動化Page模式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-07-07如何使用Selenium實現(xiàn)簡單的網(wǎng)絡(luò)自動化操作指南
Selenium是一個用于Web應(yīng)用測試的工具,Selenium測試直接運行在瀏覽器中,就像真正的用戶在操作一樣,這篇文章主要給大家介紹了關(guān)于如何使用Selenium實現(xiàn)簡單的網(wǎng)絡(luò)自動化操作的相關(guān)資料,需要的朋友可以參考下2024-03-03