使用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进行新浪微博的mid和url互相转换实例(10进制和62进制互算)
Apr 25 Python
python常用web框架简单性能测试结果分享(包含django、flask、bottle、tornado)
Aug 25 Python
python中List的sort方法指南
Sep 01 Python
分析Python编程时利用wxPython来支持多线程的方法
Apr 07 Python
Python中正则表达式的详细教程
Apr 30 Python
九步学会Python装饰器
May 09 Python
使用anaconda的pip安装第三方python包的操作步骤
Jun 11 Python
python 自动轨迹绘制的实例代码
Jul 05 Python
Python semaphore evevt生产者消费者模型原理解析
Mar 18 Python
为什么说python适合写爬虫
Jun 11 Python
Python第三方包PrettyTable安装及用法解析
Jul 08 Python
详解Python中的文件操作
Jan 14 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
需要使用php模板的朋友必看的很多个顶级PHP模板引擎比较分析
2008/05/26 PHP
php实现查看邮件是否已被阅读的方法
2013/12/03 PHP
php使用curl和正则表达式抓取网页数据示例
2014/04/13 PHP
PHP把数字转成人民币大写的函数分享
2014/06/30 PHP
WordPress中Gravatar头像缓存到本地及相关优化的技巧
2015/12/19 PHP
php中类和对象:静态属性、静态方法
2017/04/09 PHP
EXTJS内使用ACTIVEX控件引起崩溃问题的解决方法
2010/03/31 Javascript
让JavaScript拥有类似Lambda表达式编程能力的方法
2010/09/12 Javascript
javascript图像处理—仿射变换深度理解
2013/01/16 Javascript
jQuery控制输入框只能输入数值的小例子
2013/03/20 Javascript
jquery点击页面任何区域实现鼠标焦点十字效果
2013/06/21 Javascript
原生Js页面滚动延迟加载图片实现原理及过程
2013/06/24 Javascript
NodeJS制作爬虫全过程
2014/12/22 NodeJs
基于jquery实现发送文章到手机的代码
2014/12/26 Javascript
使用OpenLayers3 添加地图鼠标右键菜单
2015/12/29 Javascript
ArtEditor富文本编辑器增加表单提交功能
2016/04/18 Javascript
微信小程序 LOL 英雄介绍开发实例
2016/09/30 Javascript
老生常谈angularjs中的$state.go
2017/04/24 Javascript
mpvue写一个CPASS小程序的示例
2018/09/04 Javascript
基于layui框架响应式布局的一些使用详解
2019/09/16 Javascript
windows实现npm和cnpm安装步骤
2019/10/24 Javascript
jQuery实现的解析本地 XML 文档操作示例
2020/04/30 jQuery
javascript实现获取中文汉字拼音首字母
2020/05/19 Javascript
[43:32]2014 DOTA2华西杯精英邀请赛 5 25 LGD VS NewBee第一场
2014/05/26 DOTA
[04:07]显微镜下的DOTA2第八期——英雄复活动作
2014/06/24 DOTA
python入门教程 python入门神图一张
2018/03/05 Python
python 采用paramiko 远程执行命令及报错解决
2019/10/21 Python
python pyqtgraph 保存图片到本地的实例
2020/03/14 Python
html5记忆翻牌游戏实现思路及代码
2013/07/25 HTML / CSS
HTML5 video标签(播放器)学习笔记(一):使用入门
2015/04/24 HTML / CSS
SmartBuyGlasses台湾:名牌眼镜,名牌太阳眼镜及隐形眼镜
2017/01/04 全球购物
Guess美国官网:美国知名服装品牌
2019/04/08 全球购物
关于晚自习早退的检讨书
2014/09/13 职场文书
2015社区健康教育工作总结
2015/05/20 职场文书
青年教师听课心得体会
2016/01/15 职场文书
python+opencv实现视频抽帧示例代码
2021/06/11 Python