文章目录
环境需求 完整代码 详细分析
环境需求
python3.11.4 PyCharm Community Edition 2023.2.5 pyinstaller6.2.0(可选,这个库用于打包,使程序没有python环境也可以运行,如果想发给好朋友的话需要这个库哦~)【注】
python环境搭建请见:https://want595.blog.csdn.net/article/details/134586653 pyinstaller使用教程见:https://want595.blog.csdn.net/article/details/134106807完整代码
import tkinter as tkimport tkinter.messageboximport randomfrom math import sin, cos, pi, logfrom tkinter.constants import *width = 888height = 500heartx = width / 2hearty = height / 2side = 11heartcolor = "pink" # 爱心颜色,可修改word = "I Love You!" # 想要写的字,可修改# 爱心类class Heart: 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_function(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.a