李峋同款会动的爱心Python代码版

最近看到不少关于李峋同款爱心的视频、文章,今天我们也分享一下李峋同款爱心 Python 代码版。要问李峋是谁?我也不太清楚,大家可自行百度,这个是我百度的结果,仅供参考。

简单来说李峋同款爱心就是一个动态的♥型效果,主要 Python 代码实现如下:

def build(self, number):
for _ in range(number):
 t = random.uniform(0, 2 * pi)
 x, y = heart(t)
 self._points.add((x, y))
# 爱心内扩散
for _x, _y in list(self._points):
 for _ in range(3):
  x, y = scatter_inside(_x, _y, 0.05)
  self._edge_diffusion_points.add((x, y))
# 爱心内再次扩散
point_list = list(self._points)
for _ in range(4000):
 x, y = random.choice(point_list)
 x, y = scatter_inside(x, y, 0.17)
 self._center_diffusion_points.add((x, y))

@staticmethodstaticmethod
def calc_position(x, y, ratio):
force = 1 / (((x - X) ** 2 +
     (y - Y) ** 2) ** 0.520)
dx = ratio * force * (x - X) + random.randint(-1, 1)
dy = ratio * force * (y - Y) + random.randint(-1, 1)
return x - dx, y - dy

def calc(self, generate_frame):
ratio = 10 * curve(generate_frame / 10 * pi)
halo_radius = int(4 + 6 * (1 + curve(generate_frame / 10 * pi)))
halo_number = int(
 3000 + 4000 * abs(curve(generate_frame / 10 * pi) ** 2))
all_points = []
# 光环
heart_halo_point = set()
for _ in range(halo_number):
 t = random.uniform(0, 2 * pi)
 x, y = heart(t, shrink_ratio=11.6)
 x, y = shrink(x, y, halo_radius)
 if (x, y) not in heart_halo_point:
  heart_halo_point.add((x, y))
  x += random.randint(-14, 14)
  y += random.randint(-14, 14)
  size = random.choice((1, 2, 2))
  all_points.append((x, y, size))
# 轮廓
for x, y in self._points:
 x, y = self.calc_position(x, y, ratio)
 size = random.randint(1, 3)
 all_points.append((x, y, size))
# 内容
for x, y in self._edge_diffusion_points:
 x, y = self.calc_position(x, y, ratio)
 size = random.randint(1, 2)
 all_points.append((x, y, size))
self.all_points[generate_frame] = all_points
for x, y in self._center_diffusion_points:
 x, y = self.calc_position(x, y, ratio)
 size = random.randint(1, 2)
 all_points.append((x, y, size))
self.all_points[generate_frame] = all_points

实现效果如下:

源码在公号Python小二后台回复pyLiXu获取~

0 条评论
请不要发布违法违规有害信息,如发现请及时举报或反馈
还没有人评论呢,速度抢占沙发!
相关文章
  • 原文首发于我的博客:https://yifei.me/note/2719 越来越多的网站开始使用 TLS 指纹反爬虫,而 Python 中竟然没有任何方法解决这个问题。前一阵 看到由国外大神写了一个 ...

  • 作者:京东零售 关键 Q&A快速了解PyWebIO Q:首先,什么是PyWebIO? A:PyWebIO提供了一系列命令式的交互函数,能够让咱们用只用Python就可以编写 Web 应用, 不需要编写...

  • 哈喽兄弟们,今天咱们来复习一下Python基础中的列表操作,不知道各位还记得多少呢? 遍历整个列表加粗样式 遍历列表的所有元素,对每一个元素进行相同的操作,是我们常常所需要的。在python中...

  • 最小公倍数百度解析: 两个或多个整数公有的倍数叫做它们的公倍数,其中除0以外最小的一个公倍数就叫做这几个整数的最小公倍数。整数a,b的最小公倍数记为[a,b],同样的,a,b,c的最小公倍数记为...

  • 字符间的相互转化: 数字与字符串之间的相互转化 1、数字(整数与浮点数) --> 字符串 :只需要在要转化的数字前加str进行转换就可以 num = 10.5 str_num = str(num)...

  • 企业微信功能日益强大,腾讯官方也提供了丰富的API供开发者实现企业微信的很多自动化场景。比如,如何给某个企业微信群发送消息、图片或者文件,甚至@指定群用户?别急,看小爬君轻松教会大家。 Step1:在...

  • 项目地址:https://github.com/pikeduo/TXTReader PyQt5中文手册:https://maicss.gitbook.io/pyqt-chinese-tutoral/p...

  • Python 文件操作(IO 技术) 文本文件和二进制文件 按文件中数据组织形式,我们把文件分为文本文件和二进制文件两大类。 文本文件 文本文件存储的是普通“字符”文本,python 默认为 uni...

  • 以python 3为例关于循环中经常出现赋值问题的几个形式(要赋值的变量a,循环变量b)就比如for i in range(n): ...

  • 💡 作者:韩信子@ShowMeAI📘 机器学习实战系列:https://www.showmeai.tech/tutorials/41📘 本文地址:https://www.showmeai.tec...

  • 5.3 函数参数 示例2中定义的函数虽然能够计算总分数,但是每次计算后的结果是固定的,为了增加函数的灵活性,我们希望在调用函数的时候可以传入一些数据,然后根据传入的数据进行计算。要满足这种需求,就需要...

  • 单选题 1、将原始数据进行集成、变换、维度规约、数值规约是在( C )过程中的任务。 A.频繁模式挖掘B. 分类和预测C.数据预处理D.数据流挖掘 2、以下哪个选项可以创建一个 3x3的单位矩阵? (...

  • 1.while循环 """ while 条件: 执行语句1··· 执行语句2·· """ # while 1+1 == 2: # print('666') # 计数器 叫法...

  • 1.首先登录邮箱中开启服务 2.获取到授权码后复制下来,放入如下含授权码的引号中:   smtp_obj.login("**********@qq.com", "授权码") # 发送者的邮箱以及授...

  • python基本语法有哪些? python基本语法总结: 1.Python标识符 在 Python里,标识符有字母、数字、下划线组成。 在 Python中,所有标识符可以包括英文、数字...

  • 深入理解 Python 的对象拷贝和内存布局 前言 在本篇文章当中主要给大家介绍 python 当中的拷贝问题,话不多说我们直接看代码,你知道下面一些程序片段的输出结果吗? a = [1, 2, 3,...

  • 先看运行结果 前言 今天给大家介绍Python实现课堂随机抽选提问并语音播报学生姓名实战案例,废话不多说直接开整~ 开发工具 Python版本: 3.8 相关模块: tkinter模块 time模块...

  • B站看到了水哥的自动化办公视频(5分钟,教你做个自动化软件拿来办公、刷副本、回微信 | 源码公开,开箱即用_哔哩哔哩_bilibili) 但因为用的是内网,所以没法直接pip install 所以这里...

  • 场景:需要将.py文件 脱离环境单独执行, 一般用于将功能交给到非开发人员使用使用前提:安装pyinstaller: pip install pyinstaller手动安装upx,否则有可能打包命令...

  • 海伦公式: 已知三角形三边边长求三角形面积时,可以利用海伦公式。 海伦公式又译作希伦公式、海龙公式、希罗公式、海伦-秦九韶公式。它是利用三角形的三条边的边长直接求三角形面积的公式。 编辑 ...