Python中的高级turtle(海龟)作图(续)

python

四、填色

color 函数有三个参数。第一个参数指定有多少红色,第二个指定有多少绿色,第三个指定有多少蓝色。比如,要得到车子的亮红色,我们用 color(1,0,0),也就是让海龟用百分之百的红色画笔。

这种红色、绿色、蓝色的混搭叫做RGB(Red,Green,Blue)。因为红绿蓝是色光上的三原色,任何颜色都可以通过改变三原色的比重来调配出来。

虽然我们不是在计算机屏幕上混合颜料(我们用的是光!),但我们可以把RGB方案想象成三个颜料桶,一个红的,一个绿的和一个蓝的。每个桶里都是满的,我们可以看成满桶的值是1(100%)。然后把所有的红颜料和绿颜料混在一起放在一个大缸里,这样就产生了黄色。

现在我们尝试用海龟画一个黄色的圆,我们要用100%的红色和绿色颜料,不能使用蓝色:

效果如下:

>>> t.color(1,1,0)  ##100%的红色,100%的绿色,0%的蓝色

>>> t.begin_fill() ##给后面的形状填色

>>> t.circle(50)

>>> t.end_fill() ##用RGB颜色来给圆填色

黄色的圆

1,用来画填色圆形的函数

为了更容易地用不同的颜色来试验,我们来把画圆填色的代码写成一个函数:

>>> def mycircle(red,green,blue):

t.color(red,green,blue)

t.begin_fill()

t.circle(50)

t.end_fill()

我们可以只用绿色来画一个很亮的绿色的圆,如图A:

>>> mycircle(0,1,0)

也可以用一半的绿色(0.5)来画一个深绿色的圆,如图B:

>>> mycircle(0,0.5,0)

A:                           B:

2,使用纯白和纯黑

当天空没有了太阳,世界就变得一切黑暗(假设我们那时候还没有发明灯)。类比,如果让三种颜色都设置为0,就相当于没有光,这时候画出来的图形都是黑色的;反之为1全为白。

>>> mycircle(0,0,0)

五、画正方形的函数

>>> def mysquare(size):

for x in range(1,5):

t.forward(size)

t.left(90)

>>> mysquare(25)

>>> mysquare(50)

>>> mysquare(75)

>>> mysquare(100)

>>> mysquare(125)

效果如下:

六、画填色正方形

要对正方形填色,首先要重置画布,开始填色,然后在调用正方形函数,过程如下:

>>> t.reset()

>>> t.begin_fill()

>>> mysquare(50)

>>> t.end_fill() ##加入这行代码前,你应当看到一个空的正方形,直到你结束填充

效果如下:

我们现在可以改变下这个函数,让它既可以画填好的正方形也可以画不填色的正方形。

>>> def mysquare(size,filled):

if filled == True:

t.begin_fill()

for x in range(1,5):

t.forward(size)

t.left(90)

if filled == True:

t.end_fill()

下面我们可以画一个填了色的正方形:

>>> mysquare(50,True)

接着画一个没有填色的正方形:

>>> mysquare(150,False)

七、画填好色的星星

现在我们要写一个mystar函数

>>> def mystar(size,filled):

if filled == True: ##检查filled是否为真

t.begin_fill() ##如果是的话开始填充

for x in range(1,19):

t.forward(size)

if x % 2 == 0:

t.left(175)

else:

t.left(225)

if filled == True:

t.end_fill()

mystar函数

现在我们可以画一个金色(90%红色,75%绿色,0%的蓝色)的星星

>>> t.color(0.9,0.75,0)

>>> mystar(120,True)

效果如下:

要给星星画上轮廓,把颜色改成黑色并且不用填色再画一遍星星:

>>> t.color(0,0,0)

>>> mystar(120,False)

效果如下:

总结

今天下午收获颇丰,忘记了吃饭,忘记了打游戏,一直在学习Python作图。学会了如何用turtle模块画几个基本的几何图形,还有用for循环和if语句来控制海龟在屏幕上的动作。同时可以改变海龟的笔的颜色并给它所画的形状填色。还用了一些函数(比如 def 函数)来重用绘图的代码,提高了效率。

以上是 Python中的高级turtle(海龟)作图(续) 的全部内容, 来源链接: utcz.com/z/388723.html

回到顶部