李峋同款爱心(有源码2种)(上)

简介: 李峋同款爱心

第一种

 def __init__(self, generate_frame=20):
# 原始爱心坐标集合
self._points = set()  
# 边缘扩散效果点坐标集合
self._edge_diffusion_points = set()  
# 中心扩散效果点坐标集合
self._center_diffusion_points = set()  
# 每帧动态点坐标
self.all_points = {}  
self.build(2000)
self.random_halo = 1000
self.generate_frame = generate_frame
for frame in range(generate_frame):
 self.calc(frame)
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_point
目录
相关文章
|
算法
MATlAB运用——数值积分
MATlAB运用——数值积分
329 0
|
存储 NoSQL Java
什么是Cookie与Session之Session详解
什么是Cookie与Session之Session详解
1010 0
|
tengine 运维 Kubernetes
阿里巴巴重磅开源云原生网关: Higress
Higress 源自阿里巴巴内部电商、交易等核心生产场景的实践沉淀,遵循 Ingress/Gateway API 标准,将流量网关、微服务网关、安全网关三合一,并在此基础上扩展了服务管理插件、安全类插件和自定义插件,高度集成 K8s 和微服务生态,包括 Nacos 注册和配置、Sentinel 限流降级等能力,并支持规则变更毫秒级生效等热更新能力。
阿里巴巴重磅开源云原生网关: Higress
|
JavaScript
在vue3中使用markdown编辑器
在vue3中使用markdown编辑器
在vue3中使用markdown编辑器
|
2月前
|
人工智能 开发框架 自然语言处理
智能体来了!从大学课堂到产业实践,AI人才培养的全新路径
人工智能浪潮加速,“智能体”正推动AI从技术走向应用。黎跃春教授倡导智能体教育与产业融合,提出“3+2”学习路径,助力大学生零基础入门、实战进阶,培养跨学科创新人才,迎接未来AI新蓝海。
|
2月前
|
人工智能 自然语言处理 算法
AISEO咋做?2025年用AI优化SEO和GEO 的步骤
AISEO是AI与SEO结合的优化技术,通过人工智能生成关键词、标题、内容等,提升网站排名。它支持多语言、自动化创作,并利用高权重平台发布内容,让AI搜索更易抓取引用,实现品牌曝光与流量增长。
|
2月前
|
人工智能
一个帮运营写产品详情页的AI指令
分享一套实用的电商详情页AI生成指令模板,涵盖标题、卖点、场景、参数、保障等核心模块,帮助运营、产品经理等快速产出80分初稿,大幅提升效率。适配主流AI工具,结合人工优化,轻松应对多平台需求。
782 7
|
6月前
|
数据采集 存储 人工智能
中企出海,全球性数字运营体系是关键
在全球经济低增长背景下,中国企业出海面临数据合规、跨区域运营等挑战。瓴羊副总裁甄日新在2025阿里云中企出海大会上指出,全球化数字运营体系是关键。瓴羊提供从数据采集到应用的全生命周期解决方案,助力企业应对合规、AI适配及系统碎片化问题,构建全球统一的数据治理与客户服务体系,推动数字化转型与全球竞争力提升。
235 0
|
8月前
|
Linux
CentOS分区表损坏修复方法
以上就是CentOS分区表损坏的修复方法,无论你是选择轻装使用fdisk,还是深度潜行使用TestDisk,都能找到照亮分区的灯塔,走出困境。恩,随风者无畏,享受这个过程,你会发现其乐无穷。
283 19
|
10月前
|
机器学习/深度学习 存储 算法
DeepSeek多智能体强化学习
多智能体强化学习(MARL)是强化学习的重要分支,专注于训练多个智能体在复杂环境中协同或竞争。与单智能体不同,MARL需考虑智能体间的交互与协作,更具挑战性。DeepSeek提供强大工具和API,助力高效构建和训练MARL模型。本文将详细介绍使用DeepSeek进行MARL的方法,并通过代码示例帮助读者掌握相关技巧。内容涵盖多智能体环境的构建、Q学习和DQN智能体的定义与训练,以及常见问题的解决方案。