当前位置: 首页 > java >正文

python动态重叠爱心图

import random
from math import sin, cos, pi, log
from tkinter import Tk, Canvas# 画布参数
CANVAS_WIDTH = 800
CANVAS_HEIGHT = 600
CANVAS_CENTER_X = CANVAS_WIDTH / 2
CANVAS_CENTER_Y = CANVAS_HEIGHT / 2
IMAGE_ENLARGE = 16  # 放大倍数
EPSILON = 1e-8  # 避免除零错误# 蓝色主题(不同深浅蓝色模拟爱心渐变)
HEART_DARK_BLUE = "#003366"  # 爱心深色区域
HEART_MID_BLUE = "#0066CC"  # 爱心中间色
HEART_LIGHT_BLUE = "#66CCFF"  # 爱心浅色区域
BACKGROUND_COLOR = "black"  # 背景色# 爱心蝴蝶融合公式(翅膀边缘为爱心曲线,身体为蝴蝶结构)
def heart_butterfly(t, wing_phase=0, shrink_ratio=IMAGE_ENLARGE):# 基础爱心公式(用于翅膀边缘)def heart_curve(angle):x = 16 * (sin(angle) ** 3)y = 13 * cos(angle) - 5 * cos(2 * angle) - 2 * cos(3 * angle) - cos(4 * angle)return x, y# 蝴蝶身体中轴线body_r = 5 * (1 + sin(t))# 翅膀爱心融合逻辑(左翅和右翅分别计算)if t < pi:  # 左翅(0~π)# 爱心曲线旋转90度作为翅膀边缘heart_x, heart_y = heart_curve(t + wing_phase)# 翅膀从身体延伸到爱心边缘wing_factor = 0.8 + 0.2 * sin(wing_phase)  # 翅膀扇动幅度r = body_r + wing_factor * (heart_x ** 2 + heart_y ** 2) ** 0.5x = -r * cos(t)  # 左翅镜像y = r * sin(t)else:  # 右翅(π~2π)heart_x, heart_y = heart_curve(t - pi + wing_phase)wing_factor = 0.8 +
http://www.xdnf.cn/news/14367.html

相关文章:

  • 【Linux】KVM简单介绍
  • WebSocket深度指南:从零基础到生产级应用
  • Linux下的MySQL从DDL到DQL的基础操作
  • Leetcode 刷题记录 15 —— 二分查找
  • Elastic Search 学习笔记
  • 强化学习-UCB示例
  • Python 模块
  • 鸿蒙Next仓颉语言开发实战教程:设置页面
  • 实验绘图参考-0615版(自用)
  • 力扣第 454 场周赛
  • 「AI产业」| 《德勤:AI案例精选》
  • NJet Portal 应用门户管理介绍
  • Django构建简易视频编辑管理系统
  • Hadoop HDFS存储机制与块大小选择权衡
  • 如何面试网络信息安全岗位答疑(一)NISP管理中心
  • 2.1 Python解释器工作原理
  • [深度学习]目标检测基础
  • leetcode 1432. 改变一个整数能得到的最大差值 中等
  • MQTT:构建高效物联网通信的轻量级协议
  • Python实战项目 贪吃蛇 源码分享 毕业设计
  • 自动驾驶系统研发系列—激光雷达干扰实战:自动驾驶安全的隐形陷阱
  • (LeetCode 动态规划(基础版)) 518. 零钱兑换 II (动态规划dp)
  • Python训练营打卡 Day54
  • ONLYOFFICE 协作空间 企业版使用秘籍-5.企业电子文件如何管理?便于查找、访问和协作,轻松提升效率
  • 操作系统八股文
  • Python密码加密与校验详解
  • python profiling
  • (十六)GRU 与 LSTM 的门控奥秘:长期依赖捕捉中的遗忘 - 更新机制对比
  • ShardingSphere 全面学习路径
  • 编译链接实战(31)再论静态库的本质是啥