龙空技术网

520:Python爱心动画GIF

ZhangYiHui 197

前言:

现时大家对“c语言的心形代码”大概比较关怀,姐妹们都需要分析一些“c语言的心形代码”的相关文章。那么小编同时在网上汇集了一些有关“c语言的心形代码””的相关知识,希望大家能喜欢,朋友们快快来了解一下吧!

import gifimport numpy as npfrom matplotlib import pyplot as plt# formula see  = np.linspace(0, 6, 100)x = 16 * np.sin(t) ** 3y = 13 * np.cos(t) - 5 * np.cos(2 * t) - 2 * np.cos(3 * t) - np.cos(4 * t)## 绘制每一帧的图片@gif.framedef plot_love(x, y):    plt.scatter(x, y, 60, c="g", alpha=0.7, marker=r'$\heartsuit$')    plt.axis("off")frames = []for i in range(1, len(x)):    of = plot_love(x[:i], y[:i])    frames.append(of)gif.save(frames, 'D:\\Python_work_path\\python练习\\love.gif', duration=80)
代码解析

绘制心形的函数,通过心形函数,算出x,y对应的坐标值,plot_love函数本身是个普通的绘制散点图的函数,marker是设置成心形,通过plt.axis("off")用于去除坐标轴。如果一次性将所有数据(例子程序中共100个坐标数据)传入该函数,作图出来是完整的一张心形图,就向下面这样:

动画中的从一个小爱心,慢慢变成大爱心,实际就是第一次传一个坐标的数据去作图,然后依次增加直到所有数据都用完。把所有的图按照顺序合在一起做成gif动画,就是呈现了动画效果了。

@gif.frame装饰器是把将每个图片作图加载到内存中,通过for循环,确定每一帧的图片,保存到frames列表里,最后通过gif.save函数合在一起做成gif动画。

标签: #c语言的心形代码