使用Python快乐学数学Github万星神器Manim简介


Posted in Python onAugust 07, 2019

高考在即,笔者想为孩子以后能够快乐学习数学、学习编程找到一个比较合适的项目,经过一番比较发现github上的万星项目manim(https://github.com/3b1b/manim)就非常好。它能够快速构建有关数学的动画,而且非常精确形象。

使用Python快乐学数学Github万星神器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的最简单入门的用法,也可以定义许多其它的方法,比如这个

使用Python快乐学数学Github万星神器Manim简介

     不可否认manim的确是数学展示动画制作的神器,建议当爸爸的程序员们赶快学起来吧,培养孩子对几何的兴趣效果还不错。

总结

以上所述是小编给大家介绍的使用Python快乐学数学Github万星神器Manim简介,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
Python中输出ASCII大文字、艺术字、字符字小技巧
Apr 28 Python
Python文件处理
Feb 29 Python
利用pyinstaller或virtualenv将python程序打包详解
Mar 22 Python
Python File readlines() 使用方法
Mar 19 Python
对python numpy.array插入一行或一列的方法详解
Jan 29 Python
将python文件打包成EXE应用程序的方法
May 22 Python
python爬虫 爬取58同城上所有城市的租房信息详解
Jul 30 Python
详解python中index()、find()方法
Aug 29 Python
python中seaborn包常用图形使用详解
Nov 25 Python
Python CategoricalDtype自定义排序实现原理解析
Sep 11 Python
记录一下scrapy中settings的一些配置小结
Sep 28 Python
Python还能这么玩之只用30行代码从excel提取个人值班表
Jun 05 Python
python中的&&及||的实现示例
Aug 07 #Python
程序员的七夕用30行代码让Python化身表白神器
Aug 07 #Python
python代码实现逻辑回归logistic原理
Aug 07 #Python
Python在cmd上打印彩色文字实现过程详解
Aug 07 #Python
Python如何调用外部系统命令
Aug 07 #Python
PyQt5通信机制 信号与槽详解
Aug 07 #Python
python 使用socket传输图片视频等文件的实现方式
Aug 07 #Python
You might like
怎样辨别一杯好咖啡
2021/03/03 新手入门
PHP生成验证码时“图像因其本身有错无法显示”的解决方法
2013/08/07 PHP
PHP调用VC编写的COM组件实例
2014/03/29 PHP
jquery学习笔记二 实现可编辑的表格
2010/04/09 Javascript
javascript中字符串替换函数replace()方法与c# 、vb 替换有一点不同
2010/06/25 Javascript
javascript 基础篇2 数据类型,语句,函数
2012/03/14 Javascript
Javascript的常规数组和关联数组对比小结
2012/05/24 Javascript
Jquery中CSS选择器用法分析
2015/02/10 Javascript
JavaScript中使用Object.prototype.toString判断是否为数组
2015/04/01 Javascript
jquery插件jquery.dragscale.js实现拖拽改变元素大小的方法(附demo源码下载)
2016/02/25 Javascript
利用JS提交表单的几种方法和验证(必看篇)
2016/09/17 Javascript
利用Plupload.js解决大文件上传问题, 带进度条和背景遮罩层
2017/03/15 Javascript
JS实现页面打印(整体、局部)
2017/08/18 Javascript
AngularJS实现的根据数量与单价计算总价功能示例
2017/12/26 Javascript
Angular使用动态加载组件方法实现Dialog的示例
2018/05/11 Javascript
js中怎么判断两个字符串相等的实例
2019/01/17 Javascript
如何根据业务封装自己的功能组件
2019/04/19 Javascript
Bootstrap table 实现树形表格联动选中联动取消功能
2019/09/30 Javascript
Python入门篇之正则表达式
2014/10/20 Python
Python构建XML树结构的方法示例
2017/06/30 Python
基于python3 类的属性、方法、封装、继承实例讲解
2017/09/19 Python
pygame游戏之旅 创建游戏窗口界面
2018/11/20 Python
Django生成PDF文档显示在网页上以及解决PDF中文显示乱码的问题
2019/07/04 Python
Python如何调用JS文件中的函数
2019/08/16 Python
如何基于Python创建目录文件夹
2019/12/31 Python
python函数中将变量名转换成字符串实例
2020/05/11 Python
详解使用Python写一个向数据库填充数据的小工具(推荐)
2020/09/11 Python
微软香港官网及网上商店:Microsoft HK
2016/09/01 全球购物
医院实习介绍信
2014/01/12 职场文书
工作个人的自我评价
2014/01/14 职场文书
《最大的“书”》教学反思
2014/02/14 职场文书
政治思想表现评语
2014/05/04 职场文书
植树节口号
2014/06/21 职场文书
安全生产月宣传标语
2014/10/06 职场文书
教你部署vue项目到docker
2022/04/05 Vue.js
鲲鹏 CentOS 7 安装Python3.7
2022/05/11 Servers