使用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 简易计算器程序,代码就几行
Aug 29 Python
天翼开放平台免费短信验证码接口使用实例
Dec 18 Python
pandas DataFrame数据转为list的方法
Apr 11 Python
python2与python3共存问题的解决方法
Sep 18 Python
Python中利用aiohttp制作异步爬虫及简单应用
Nov 29 Python
python利用thrift服务读取hbase数据的方法
Dec 27 Python
Python 使用 PyMysql、DBUtils 创建连接池提升性能
Aug 14 Python
Python浮点数四舍五入问题的分析与解决方法
Nov 19 Python
python 实现二维列表转置
Dec 02 Python
Pycharm2020.1安装无法启动问题即设置中文插件的方法
Aug 07 Python
关于Python错误重试方法总结
Jan 03 Python
Python可变与不可变数据和深拷贝与浅拷贝
Apr 06 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
PhpStorm2020 + phpstudyV8 +XDebug的教程详解
2020/09/17 PHP
javascript DOM编程实例(智播客学习)
2009/11/23 Javascript
javascript 事件查询综合 推荐收藏
2010/03/10 Javascript
JavaScript 创建运动框架的实现代码
2013/05/08 Javascript
javascript 手动给表增加数据的小例子
2013/07/10 Javascript
jquery队列函数用法实例
2014/12/16 Javascript
javascript实现数组内值索引随机化及创建随机数组的方法
2015/08/10 Javascript
深入理解JavaScript定时机制
2016/10/27 Javascript
jQuery轻松实现无缝轮播效果
2017/03/22 jQuery
vue实现app页面切换动画效果实例
2017/05/23 Javascript
微信小程序使用slider设置数据值及switch开关组件功能【附源码下载】
2017/12/09 Javascript
详解vue mixins和extends的巧妙用法
2017/12/20 Javascript
express默认日志组件morgan的方法
2018/04/05 Javascript
Js面试算法详解
2018/04/08 Javascript
浅谈angularJS2中的界面跳转方法
2018/08/31 Javascript
在vue中读取本地Json文件的方法
2018/09/06 Javascript
Vue点击切换Class变化,实现Active当前样式操作
2020/07/17 Javascript
Vue实现计算器计算效果
2020/08/17 Javascript
[38:32]DOTA2上海特级锦标赛A组资格赛#2 Secret VS EHOME第二局
2016/02/26 DOTA
[59:26]DOTA2上海特级锦标赛D组资格赛#1 EG VS VP第二局
2016/02/28 DOTA
Python双精度浮点数运算并分行显示操作示例
2017/07/21 Python
Python学习之Anaconda的使用与配置方法
2018/01/04 Python
python 多维高斯分布数据生成方式
2019/12/09 Python
Python中SQLite如何使用
2020/05/27 Python
让你相见恨晚的十个Python骚操作
2020/11/18 Python
关于iframe跨域使用postMessage的实现
2019/10/29 HTML / CSS
英国的一家创新礼品和小工具零售商:Menkind
2019/08/24 全球购物
主持人婚宴答谢词
2014/01/28 职场文书
商场中秋节活动方案
2014/02/07 职场文书
保证书格式范文
2014/04/28 职场文书
新闻学专业职业生涯规划范文:我的人生我做主
2014/09/12 职场文书
寒暑假实习证明书模板
2014/11/29 职场文书
Django项目配置Memcached和Redis, 缓存选择哪个更有优势
2021/04/06 Python
只需要这一行代码就能让python计算速度提高十倍
2021/05/24 Python
python神经网络Xception模型
2022/05/06 Python
Java完整实现记事本代码
2022/06/16 Java/Android