网上看到过许多螺旋线的程序,但不是黑色就是单个颜色不变。这里作者编了一个程序,还很漂亮的。希望大家喜欢!!!使用turtle绘图。代码如下。(绘图窗口最大化更好)
低配(复杂)版
from turtle import *
hideturtle() #隐藏画笔
title("螺旋线") #设置标题
speed(10) #速度调最快
colormode(255) #将RGB颜色值设置成整数输入
r=255
g=0
b=0 #设置最初RGB颜色值(是红色哦)
for i in range(51):
color(r,g,b)
fd(i)
left(91)
g+=5 #颜色由红色变为黄色(将绿色值增加),这里的5不是随便取的,是为了与循环次数51相乘得255
for i in range(51):
color(r,g,b)
fd(51+i)
left(91)
r-=5 #颜色变为绿色(红色值减少)
for i in range(51):
color(r,g,b)
fd(51*2+i)
left(91)
b+=5 #颜色变为天蓝色(蓝色值增加)
for i in range(51):
color(r,g,b)
fd(51*3+i)
left(91)
g-=5 #变为深蓝(绿色值减少)
for i in range(51):
color(r,g,b)
fd(51*4+i)
left(91)
r+=5 #变紫(红色值增加)
for i in range(51):
color(r,g,b)
fd(51*5+i)
left(91)
b-=5 #变红,后面省略
for i in range(51):
color(r,g,b)
fd(51*6+i)
left(91)
g+=5
for i in range(51):
color(r,g,b)
fd(51*7+i)
left(91)
r-=5
for i in range(51):
color(r,g,b)
fd(51*8+i)
left(91)
b+=5
for i in range(51):
color(r,g,b)
fd(51*9+i)
left(91)
g-=5
for i in range(51):
color(r,g,b)
fd(51*10+i)
left(91)
r+=5
done()
升级(化简)版
from turtle import*
a=[1,0,0]#红
b=[1,0,2,1,0,2]#根据之前代码化简
def draw(x,y,z):
for i in range(85):
fd(i+x*256/3)
left(91)
a[y]+=1/85*z
color(a[0], a[1], a[2])
def main(n):
title("螺旋线")
screensize(10000,10000)#可以改变长宽了,若超出边界可上下左右拉动
speed(15)
color(a[0],a[1],a[2])
colormode(255)
for i in range(n):
draw(i, b[i%6], (0.5-i%2)*2)
done()
main(20)
这里给大家用系统自带的画图演示一下颜色的变化。
首先画笔颜色是红色,RGB值是255、0、0。
然后绿色值增加到255,颜色变为黄色。此时RGB值为255、255、0。
红色值减少到0,颜色变为绿色。此时RGB值为0、255、0。
蓝色值增加,颜色变为浅蓝色(青色)。
后面就省略了。相信大家知道怎么做。下面是效果图: