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

安裝Manim
雖然manim已經支持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)#逆時針旋轉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行調用flip()函數將正方形放到正確的位置上。然后調用第4行調用rotate()函數,在逆時針方向旋轉3/8pi的角度。第5行調用set_fill()將圓形的填充顏色設置為粉紅色,不透明度設置為0.5,具體也可以參考我上面的注釋。以上這些參數都可以自行修改設置,改好之后再調用
python extract_scene.py example_scenes.py SquareToCircle -pl
就能重新生成好新的圖像。 當然這只是manim的最簡單入門的用法,也可以定義許多其它的方法,比如這個

不可否認manim的確是數學展示動畫制作的神器,建議當爸爸的程序員們趕快學起來吧,培養(yǎng)孩子對幾何的興趣效果還不錯。
總結
以上所述是小編給大家介紹的使用Python快樂學數學Github萬星神器Manim簡介,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!
相關文章
Python3中的re.findall()方法及re.compile()
這篇文章主要介紹了Python3中的re.findall()方法及re.compile(),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-05-05
Python 使用 consul 做服務發(fā)現(xiàn)示例詳解
這篇文章主要介紹了Python 使用 consul 做服務發(fā)現(xiàn)示例詳解,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-03-03

