我试图画一条彩虹直线,但无法确定在时间上
我尝试使用十六进制增量从
turtle.pencolor()
中的RGB值应该如何改变...我尝试使用十六进制增量从
000000
到FFFFFF
,但在得到无效的颜色值之前,我得到了一个黑色到绿色的循环线路。turtle.pencolor()
中的RGB值应该如何改变...000000
到FFFFFF
,但在得到无效的颜色值之前,我得到了一个黑色到绿色的循环线路。我猜Python turtle的RGB颜色模型不适合轻松生成彩虹线。 幸运的是,您可以import colorsys
来使用更合适的模型(如HSV),并使其将这些值转换为RGB:
from turtle import Screen, Turtle
from colorsys import hsv_to_rgb
RADIUS = 300
WIDTH = 100
screen = Screen()
turtle = Turtle(visible=False)
turtle.speed('fastest') # because I have no patience
turtle.width(WIDTH)
turtle.penup()
turtle.sety(-RADIUS)
turtle.pendown()
for angle in range(360):
turtle.pencolor(hsv_to_rgb(angle / 360, 0.75, 0.75))
turtle.circle(RADIUS, 1)
screen.exitonclick()
在这里,我们只是根据角度调整 色相,保持 饱和度 和 亮度 不变:
另外,如果你更加没有耐心,你可以将turtle模块的“tracer”函数设置为(0, 0)
例如:t.tracer(0, 0)
这将使绘图立即出现。
t.tracer(20, 0)
将使海龟超级快速移动,但仍带有一些动画效果
如果您使用此方法,还需要在最后添加t.update()
。