目录
系列文章
|--------|--------------|-------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 序号 | 文章目录 || 直达链接 |
| 表白系列 ||||
| 1 | 无法拒绝的表白界面 || https://want595.blog.csdn.net/article/details/134744894 |
| 2 | 满屏飘字表白代码 || https://want595.blog.csdn.net/article/details/135037388 |
| 3 | 无限弹窗表白代码 || https://want595.blog.csdn.net/article/details/134744711 |
| 4 | 李峋同款可写字版跳动的爱心 || https://want595.blog.csdn.net/article/details/134744191 |
| 5 | 流星雨 || https://want595.blog.csdn.net/article/details/134747408 |
| 6 | 漂浮爱心 || https://want595.blog.csdn.net/article/details/134744929 |
| 7 | 爱心光波 || https://want595.blog.csdn.net/article/details/134747365 |
| 8 | 玫瑰花 || https://want595.blog.csdn.net/article/details/134747447 |
| 节日系列 ||||
| 1 | 新春/跨年 | 烟花秀(2022) | https://want595.blog.csdn.net/article/details/128727394 |
| 1 | 新春/跨年 | 烟花秀(2023) | https://want595.blog.csdn.net/article/details/135042880 |
| 1 | 新春/跨年 | 粒子烟花 | https://want595.blog.csdn.net/article/details/136029420 |
| 2 | 圣诞节 | 圣诞礼物 | https://want595.blog.csdn.net/article/details/135336583 |
| 2 | 圣诞节 | 圣诞树(2022) | https://want595.blog.csdn.net/article/details/128428985 |
| 2 | 圣诞节 | 绿色圣诞树(2023) | https://want595.blog.csdn.net/article/details/135048607 |
| 2 | 圣诞节 | 粉色圣诞树(2023) | https://want595.blog.csdn.net/article/details/135043042 |
| 3 | 冬至 | 大雪纷飞 | https://want595.blog.csdn.net/article/details/128806017 |
| 4 | 生日 | 生日蛋糕 | https://want595.blog.csdn.net/article/details/128739755 |
| 5 | 儿童节 | 五彩气球 | https://want595.blog.csdn.net/article/details/128741043 |
| 6 | 国庆节 | 国庆祝福 | https://want595.blog.csdn.net/article/details/128740923 |
| 7 | 万圣节 | 万圣礼物 | https://want595.blog.csdn.net/article/details/128734395 |
| 8 | 愚人节 | 愚人代码 | https://want595.blog.csdn.net/article/details/128696990 |
| 9 | 中秋节 | 浪漫星空 | https://want595.blog.csdn.net/article/details/128737284 |
| 10 | 植树节 | 樱花树 | https://want595.blog.csdn.net/article/details/128700178 |
| 动漫系列 ||||
| 1 | 名侦探柯南系列 | 柯南 | https://want595.blog.csdn.net/article/details/134777613 |
| 2 | 喜羊羊与灰太狼系列 | 喜羊羊 | https://want595.blog.csdn.net/article/details/134778583 |
| 2 | 喜羊羊与灰太狼系列 | 懒羊羊 | https://want595.blog.csdn.net/article/details/134847642 |
| 2 | 喜羊羊与灰太狼系列 | 灰太狼 | https://want595.blog.csdn.net/article/details/135335303 |
| 2 | 喜羊羊与灰太狼系列 | 小灰灰 | https://want595.blog.csdn.net/article/details/135335445 |
| 2 | 喜羊羊与灰太狼系列 | 小香香 | https://want595.blog.csdn.net/article/details/135056783 |
| 3 | 海绵宝宝系列 | 海绵宝宝 | https://want595.blog.csdn.net/article/details/134847364 |
| 4 | 哆啦A梦系列 | 哆啦A梦 | https://want595.blog.csdn.net/article/details/135037884 |
| 5 | HelloKitty系列 | hellokitty | https://want595.blog.csdn.net/article/details/135337732 |
| 6 | Tom&Jerry系列 | Tom&Jerry | https://want595.blog.csdn.net/article/details/135337775 |
| 7 | 草莓熊系列 | 草莓熊 | https://want595.blog.csdn.net/article/details/135337832 |
| 8 | 皮卡丘系列 | 迷你皮卡丘 | https://want595.blog.csdn.net/article/details/135337911 |
| 8 | 皮卡丘系列 | 高级皮卡丘 | https://want595.blog.csdn.net/article/details/135337937 |
| 8 | 皮卡丘系列 | 豪华皮卡丘 | https://want595.blog.csdn.net/article/details/135337947 |
| 9 | 猪猪侠系列 | 猪猪侠 | https://want595.blog.csdn.net/article/details/136340111 |
| 10 | 超级英雄系列 | 蜘蛛侠 | https://want595.blog.csdn.net/article/details/129080659 |
| 炫酷系列 ||||
| 1 | 一闪一闪亮星星系列 | 张万森下雪了 | https://want595.blog.csdn.net/article/details/135336915 |
| 1 | 一闪一闪亮星星系列 | 一闪一闪亮星星 | https://want595.blog.csdn.net/article/details/135337049 |
| 2 | 代码雨 | https://want595.blog.csdn.net/article/details/135054341 ||
| 3 | 七彩花朵 | https://want595.blog.csdn.net/article/details/135056670 ||
| 4 | 3D星空 | https://want595.blog.csdn.net/article/details/135056516 ||
| 5 | 金榜题名 | https://want595.blog.csdn.net/article/details/135056150 ||
| 6 | 满天星 | https://want595.blog.csdn.net/article/details/135056305 ||
| ...... ||||
前言
今天博主给大家带来了有趣的跳动的爱心(双心版),一起来看看吧!
Turtle简介
Turtle 是 Python 标准库中的一个模块,用于绘制简单的图形和创建基本的图形用户界面。它借用了 Logo 编程语言中的概念,通过控制一个"海龟"在屏幕上的移动来绘制图形。这个模块非常适合初学者学习编程,因为它提供了一个直观且有趣的方式来理解基本的编程概念,如循环、函数和事件处理。
Turtle 的基本概念
Turtle 模块中的"海龟"其实是一个小箭头,它可以在屏幕上移动,并根据指令绘制路径。以下是一些基本的命令:
- `forward(distance)`:让海龟向前移动指定距离。
- `backward(distance)`:让海龟向后移动指定距离。
- `right(angle)`:让海龟向右转动指定角度。
- `left(angle)`:让海龟向左转动指定角度。
- `penup()` 和 `pendown()`:抬起或放下笔,抬起笔时移动不会绘制线条。
简单示例
以下是一个使用 Turtle 模块绘制正方形的简单示例:
python
import turtle
# 创建一个屏幕对象
wn = turtle.Screen()
wn.title("Turtle 示例")
# 创建一个海龟对象
t = turtle.Turtle()
# 绘制正方形
for _ in range(4):
t.forward(100)
t.right(90)
# 完成绘图
wn.mainloop()
这个示例代码展示了如何创建一个窗口和一个海龟对象,然后使用循环指令绘制一个正方形。`wn.mainloop()` 用于保持窗口打开状态,以便查看绘制结果。
高级功能
除了基本的移动和绘图命令,Turtle 模块还支持更高级的功能,如:
- **颜色和填充**:使用 `color()` 设置绘图颜色,使用 `begin_fill()` 和 `end_fill()` 创建填充图形。
- **形状**:海龟的形状可以更改为箭头、圆形、正方形等,使用 `shape()` 方法。
- **速度**:通过 `speed()` 方法控制海龟的移动速度。
- **事件处理**:Turtle 支持事件处理,如键盘和鼠标事件,可以使用 `onscreenclick()` 和 `onkey()` 方法进行绑定。
应用场景
Turtle 模块广泛应用于教育领域,尤其是编程入门和算法教学。它通过图形化的方式帮助学生理解抽象的编程概念,同时增加了学习的趣味性。此外,Turtle 也可以用于简单的图形设计和数据可视化,尽管功能较为基础,但它为进一步学习更复杂的图形编程打下了良好的基础。
总的来说,Turtle 模块是 Python 学习者不可多得的工具,它不仅易于上手,而且功能丰富,能够激发学习者的创造力和编程兴趣。通过不断尝试和练习,学习者可以掌握编程的基本技能,并为深入学习打下坚实的基础。
Python跳动的爱心
程序设计
python
import random
from math import sin, cos, pi, log
from tkinter import *
# Constants
IMAGE_ENLARGE = 11
INNER_HEART_COLOR = "pink"
OUTER_HEART_COLOR = ""
SCATTER_BETA = 0.15
SHRINK_RATIO = 15
CURVE_RATIO = 10
FRAME_DELAY = 160
NUM_POINTS = 2000
NUM_HALO_POINTS = 3000
NUM_EDGE_DIFFUSION_POINTS = 3
HALO_RANDOM_FACTOR = 14
class HeartParameters:
def __init__(self):
self.points = set()
self.edge_diffusion_points = set()
self.center_diffusion_points = set()
self.all_points = {}
# Heart Function
def heart_function(t, shrink_ratio=IMAGE_ENLARGE):
x = 16 * (sin(t) ** 3)
y = -(13 * cos(t) - 5 * cos(2 * t) - 2 * cos(3 * t) - cos(4 * t))
x, y = x * shrink_ratio + CANVAS_CENTER_X, y * shrink_ratio + CANVAS_CENTER_Y
return int(x), int(y)
# Scatter Points
def scatter_points(x, y, beta=SCATTER_BETA):
ratio_x, ratio_y = -beta * log(random.random()), -beta * log(random.random())
dx, dy = ratio_x * (x - CANVAS_CENTER_X), ratio_y * (y - CANVAS_CENTER_Y)
return x - dx, y - dy
# Shrink Points
def shrink_points(x, y, ratio):
force = -1 / (((x - CANVAS_CENTER_X) ** 2 + (y - CANVAS_CENTER_Y) ** 2) ** 0.6)
dx, dy = ratio * force * (x - CANVAS_CENTER_X), ratio * force * (y - CANVAS_CENTER_Y)
return x - dx, y - dy
# Curve Function
def curve(p):
return 2 * (3 * sin(4 * p)) / (2 * pi)
......
运行效果
尾声
我是一只有趣的兔子,感谢你的喜欢!