如果简单地用Python编程绘制酷炫的图形呢?通常初入门者用Python的海龟画图模块绘制图形。我们只要导入海龟模块,就像下面这样,然后让海龟前进,就能画一个“一”字图形了。
import turtle turtle.fd(100)
如果要让画的一字形图产生渐变效果,就像下面这样,该如何编程呢?仅靠海龟模块是无能为力了。
这时可以用一个叫coloradd的模块。这个模块里面也有一个命令,也叫coloradd。它能让颜色进行增加! 导入这个命令的代码为
from coloradd import *。
coloradd命令的参数为一个RGB三元组和一个小数。我们知道,在用RGB三元色表示颜色的时候,(255,0,0)表示红色,(0,255,0)表示绿色,(0,0,255)表示蓝色。三元组中的第一个数据是红色份量,第二个数据是绿色份量,第三个数据是蓝色份量。它们的最小值是0,表示这种颜色份量没有,最大值为255,表示这种颜色份量为100%。比如红色+绿色,结果就是黄色,RGB大法表示为(255,255,0)。比如红色+蓝色,结果是品红色,RGB表示法为(255,0,255)。如果要使用coloradd命令,要把海龟画图中屏幕的颜色模式设为255。代码像下面这样:
screen = turtle.getscreen() screen.colormode(255)
为了使海龟所画的彩色一字从红色开始,接着我们设定一个起始颜色,代码为:
c = (255,0,0)
上面的c是一个三元组,在海龟画图中,会被识别为红色。
为了让所画的一字更加粗一些,我们把海龟画笔的粗细设为10,代码为以下所示:
turtle.pensize(10)
coloradd命令让颜色增加的本质就是修改元组里数据的值,然后返回一个新元组。当然,这个新元组可以被识别为一种颜色。如coloradd(c,0.01),结果是(255, 15, 0)。这被当成一种颜色时,是在红色的基础上加了一点绿色,这种颜色就向橙色靠近了一些。当 c = coloradd(c,0.01)再次运行时,c的值就会不断地向着“红橙黄绿青蓝紫”的方向渐变。程序就像下面这样:
for x in range(360): c = coloradd(c,0.01)
我们可以把上面的c都打印出来,能够看到一些三元组,它们表示的颜色就是从红色到紫色。这样不太直观,我们可以把这些颜色都设为海龟画笔的颜色,然后让海龟前进1个单位,这样就能把颜色显示出来了。
最后,全部代码如下所示:
import turtle from coloradd import * screen = turtle.getscreen() screen.colormode(255) c = (255,0,0) turtle.pensize(10) for x in range(360): turtle.color(c) c = coloradd(c,0.01) turtle.fd(1)
使用python的coloradd模块制作如意金箍棒的运行结果