用python编写彩色螺旋线

网上看到过许多螺旋线的程序,但不是黑色就是单个颜色不变。这里作者编了一个程序,还很漂亮的。希望大家喜欢!!!使用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。 

蓝色值增加,颜色变为浅蓝色(青色)。 

 后面就省略了。相信大家知道怎么做。下面是效果图:

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值