【Python】animation模块简介及应用实战---画一条动态心形曲线

欢迎关注公众号【拇指笔记】,持续更新一些好玩、有趣的Python小项目。
需要程序的朋友,直接私信我即可。

先上效果:

在这里插入图片描述

原文链接

绘制一条心形曲线

最近看到个视频,打算绘制个心型动态的曲线。

Matlab确定图像及其函数

网上有很多关于心形曲线的资料,各种各样的形状,但是我比较倾心于桃心形。现在Matlab里简单看一下是什么样的。
这个曲线的方程如下
x = 16 s i n 3 ( t ) y = 13 c o s ( t ) − 5 c o s ( 2 t ) − 2 c o s ( 3 t ) − c o s ( 4 t ) x = 16sin^3(t) \\y = 13cos(t)-5cos(2t)-2cos(3t)-cos(4t) x=16sin3(t)y=13cos(t)5cos(2t)2cos(3t)cos(4t)
使用Matlab画的效果如下
在这里插入图片描述
Matlab程序如下
在这里插入图片描述

Python绘制动态曲线

光是一张图片,属实是太乏味了,不如直接截图。为了让这个心形曲线更有意思点,我使用了matplotlib中的animation模块来绘制一个动态的心形。
使用animation模块绘制一个动态图形。
首先需要进行初始化x,y列表、窗口和曲线

在这里插入图片描述
然后使用两个核心函数init()和updata()计算曲线经过的点。
在这里插入图片描述

最后调用一下函数,设置一下显示速度(interval),是否重复绘制(repeat)等参数即可。

ani = animation.FuncAnimation(fig, update, frames=np.linspace(0,10,1000),init_func=init,interval=5, repeat = False,blit=True)

1.3 几点注意

  • 使用imagemagick工具,可以将图片保存为gif格式。
 ani.save('heart.gif',writer='imagemagick',fps=30)

选择matplotlib的backend。如果使用jupyter notebook绘制图像时,遇到无法显示的情况,使用下面的代码就可以解决。

 %matplotlib qt5

觉得好看的话点个赞呗~

  • 5
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值