Draw a spirograph using turtle package.
时间: 2024-03-10 19:45:48 浏览: 238
spirograph:用 JS 画布绘制的颜色渐变螺旋图
好的,以下是使用turtle包绘制spirograph的Python代码:
```python
import turtle as t
import math
# 设置画布大小和背景颜色
t.setup(width=600, height=600)
t.bgcolor("black")
# 设置画笔属性
t.speed("fastest")
t.pensize(2)
t.hideturtle()
# 定义绘制spirograph的函数
def draw_spirograph(R, r, d):
# 计算生成曲线的参数
k = r / R
l = d / R
# 计算spirograph的周期
period = 2 * math.pi / math.gcd(int(R), int(r))
for theta in range(0, int(360 * period), 5):
# 计算当前角度下的坐标
x = (R - r) * math.cos(theta) + d * math.cos(k * theta)
y = (R - r) * math.sin(theta) - d * math.sin(k * theta)
# 计算当前颜色
color = (math.sin(theta) * 127 + 128, math.sin(theta + math.pi / 3) * 127 + 128, math.sin(theta + 2 * math.pi / 3) * 127 + 128)
t.pencolor(color)
# 绘制当前点
t.goto(x, y)
# 隐藏画笔
t.hideturtle()
# 调用绘制函数
draw_spirograph(150, 50, 75)
# 等待用户关闭窗口
t.done()
```
这段代码会绘制一个spirograph,其中R、r和d分别代表spirograph的参数,可以根据需要进行调整。绘制过程中还会根据当前角度计算出对应的颜色,使得生成的图形更加丰富多彩。运行代码后,会出现一个图形窗口,显示绘制的spirograph。
阅读全文