使用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实现将n个点均匀地分布在球面上的方法
Mar 12 Python
python3序列化与反序列化用法实例
May 26 Python
Perl中著名的Schwartzian转换问题解决实现
Jun 02 Python
答题辅助python代码实现
Jan 16 Python
Sanic框架配置操作分析
Jul 17 Python
python常见字符串处理函数与用法汇总
Oct 30 Python
python argparse传入布尔参数false不生效的解决
Apr 20 Python
ansible-playbook实现自动部署KVM及安装python3的详细教程
May 11 Python
python3 kubernetes api的使用示例
Jan 12 Python
Pytorch DataLoader shuffle验证方式
Jun 02 Python
Python访问Redis的详细操作
Jun 26 Python
Python Django获取URL中的数据详解
Nov 01 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
PHP4实际应用经验篇(3)
2006/10/09 PHP
PHP利用hash冲突漏洞进行DDoS攻击的方法分析
2015/03/26 PHP
Jquery 滑入滑出效果实现代码
2010/03/27 Javascript
javascript 原型继承介绍
2011/08/30 Javascript
JS操作select下拉框动态变动(创建/删除/获取)
2013/06/02 Javascript
jquery实现多级下拉菜单的实例代码
2013/10/02 Javascript
ES6中Generator与异步操作实例分析
2017/03/31 Javascript
VSCode中如何利用d.ts文件进行js智能提示
2018/04/13 Javascript
JS+HTML实现的圆形可点击区域示例【3种方法】
2018/08/01 Javascript
Vue指令指令大全
2019/02/09 Javascript
详解Vue、element-ui、axios实现省市区三级联动
2019/05/07 Javascript
Vue 实现复制功能,不需要任何结构内容直接复制方式
2019/11/09 Javascript
element-ui tree结构实现增删改自定义功能代码
2020/08/31 Javascript
[01:41]DOTA2超级联赛专访YYF 称一辈子难忘TI2
2013/05/28 DOTA
Mac OS X10.9安装的Python2.7升级Python3.3步骤详解
2013/12/04 Python
详解Python中DOM方法的动态性
2015/04/11 Python
Python冒泡排序注意要点实例详解
2016/09/09 Python
理解Python中的绝对路径和相对路径
2017/08/30 Python
Python常见数据类型转换操作示例
2019/05/08 Python
PyQt5组件读取参数的实例
2019/06/25 Python
获取Pytorch中间某一层权重或者特征的例子
2019/08/17 Python
Python导入数值型Excel数据并生成矩阵操作
2020/06/09 Python
python绘制趋势图的示例
2020/09/17 Python
css3实现3D色子翻转特效
2014/12/23 HTML / CSS
中国双语服务优势的在线购票及活动平台:247tickets
2018/10/26 全球购物
英国最大的在线时尚眼镜店:Eyewearbrands
2019/03/12 全球购物
new修饰符是起什么作用
2015/06/28 面试题
介绍一下EJB的体系结构
2012/08/01 面试题
小学生防溺水广播稿
2014/01/12 职场文书
信用社员工先进事迹材料
2014/02/04 职场文书
幼儿园亲子活动总结
2014/04/26 职场文书
个人担保书范文
2014/05/20 职场文书
银行授权委托书范本
2014/10/04 职场文书
公司员工离职证明书
2014/10/04 职场文书
工作时间擅自离岗检讨书
2014/10/24 职场文书
教导处教学工作总结
2015/08/12 职场文书