python生成动态爱心
时间: 2023-07-06 14:35:23 浏览: 96
下面是一个可以在 Python 中生成动态爱心的代码,需要使用到 `turtle` 模块:
```python
import turtle
import math
# 初始化画布和画笔
t = turtle.Turtle()
t.hideturtle()
t.getscreen().bgcolor('black')
t.pensize(2)
t.speed(0)
# 定义一个函数来绘制爱心
def draw_heart(x, y, size):
t.penup()
t.goto(x, y)
t.pendown()
t.setheading(0)
t.color('red')
t.begin_fill()
for i in range(200):
radians = i * math.pi / 100
x = size * 16 * math.pow(math.sin(radians), 3)
y = size * (13 * math.cos(radians) - 5 * math.cos(2*radians) - 2 * math.cos(3*radians) - math.cos(4*radians))
t.goto(x, y)
t.end_fill()
# 定义一个函数来绘制动态爱心
def animate_heart():
# 定义起始位置和大小
x = -200
y = 0
size = 2
# 循环绘制爱心
while True:
t.clear()
draw_heart(x, y, size)
x += 5
y = math.sin(x / 20) * 100
size = abs(math.sin(x / 10))
t.penup()
t.goto(0, -200)
t.color('white')
t.write("I Love You", align="center", font=("Courier", 24, "bold"))
t.penup()
t.goto(-350, -250)
t.color('white')
t.write("Press Ctrl+c to stop", align="left", font=("Courier", 12, "bold"))
t.update()
# 调用动态爱心函数
try:
animate_heart()
except KeyboardInterrupt:
pass
```
这个代码使用了 `turtle` 模块来绘制动态爱心。它使用了数学公式来计算爱心的形状,并且使用了 Python 的循环和数学函数来实现动态效果。你可以尝试修改代码中的参数来改变爱心的速度和大小。
阅读全文