python 画出动态心形
时间: 2023-10-16 22:13:56 浏览: 90
以下是使用Python的turtle模块画出动态心形的示例代码:
```python
import turtle
import math
# 设置画布背景色和画笔颜色
turtle.bgcolor("black")
turtle.pencolor("pink")
# 设置画笔粗细和速度
turtle.pensize(2)
turtle.speed(10)
# 定义心形函数
def heart(t, x, y, size):
t.penup()
t.goto(x, y)
t.pendown()
t.setheading(0)
t.begin_fill()
t.fillcolor("red")
t.pensize(size)
for i in range(200):
t.right(1)
a = math.sin(math.radians(i))
x = size * a * math.cos(math.radians(i))
y = size * a * math.sin(math.radians(i))
t.goto(x, y)
t.end_fill()
# 定义动态心形函数
def dynamic_heart():
for i in range(200, 600, 5):
turtle.clear()
heart(turtle, 0, -i/10, i/30)
turtle.right(5)
# 调用动态心形函数
dynamic_heart()
# 隐藏画笔
turtle.hideturtle()
# 点击关闭窗口
turtle.exitonclick()
```
代码解释:
首先,我们通过导入turtle模块来实现画图功能。然后,我们设置画布的背景色为黑色,画笔颜色为粉色,并设置画笔的粗细和速度。接下来,我们定义了一个heart函数来绘制心形,该函数具有四个参数:t,x,y和size。其中,t表示turtle对象,x和y表示心形的中心坐标,size表示心形的大小。
在heart函数中,我们使用turtle的goto方法和sin、cos函数来绘制心形。具体来说,我们使用for循环来旋转turtle对象,然后计算出每个角度对应的x和y坐标,并使用goto方法来移动turtle对象。
接下来,我们定义了一个dynamic_heart函数来实现动态心形。该函数使用for循环来旋转turtle对象,并在每个角度上调用heart函数来绘制心形。我们还使用了turtle的clear方法来清除之前绘制的图形。
最后,我们隐藏了画笔,并通过调用exitonclick方法来等待用户点击关闭窗口。
运行代码后,我们可以看到一个动态的心形图案在窗口中不断旋转。
阅读全文