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

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

先上效果:

在这里插入图片描述

原文链接

绘制一条心形曲线

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

Matlab确定图像及其函数

网上有很多关于心形曲线的资料,各种各样的形状,但是我比较倾心于桃心形。现在Matlab里简单看一下是什么样的。
这个曲线的方程如下
x=16sin3(t)y=13cos(t)5cos(2t)2cos(3t)cos(4t) 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

觉得好看的话点个赞呗~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章