? ? ? ? ? 高考在即,筆者想為孩子以后能夠快樂學習數學、學習編程找到一個比較合適的項目,經過一番比較發現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兩行去掉,再執行pip install -r requirement.txt命令。
3.單獨安裝pycairo
使用以下命令強制升級就可以了。
sudo pip install pycairo --upgrade --ignore-installed pycairo
4.安裝manim
確保在manim的目錄下執行
python setup.py install
?即可完成安裝了。
? ? ? ? windows下安裝manim實在太痛苦了,得把c的編譯環境,git for windows等等通通裝一遍,不建議嘗試,如果執意不想放棄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的確是數學展示動畫制作的神器,建議當爸爸的程序員們趕快學起來吧,培養孩子對幾何的興趣效果還不錯。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
