【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)
使用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

觉得好看的话点个赞呗~

发布了31 篇原创文章 · 获赞 72 · 访问量 4953

猜你喜欢

转载自blog.csdn.net/weixin_44610644/article/details/105202148