python海龟绘图颜⾊_Python中的⾼级turtle(海龟)作图
antdmobile(续)
四、填⾊
color 函数有三个参数。第⼀个参数指定有多少红⾊,第⼆个指定有多少绿⾊,第三个指定有多少蓝⾊。⽐如,要得到车⼦的亮红⾊,我们⽤ color(1,0,0),也就是让海龟⽤百分之百的红⾊画笔。
这种红⾊、绿⾊、蓝⾊的混搭叫做RGB(Red,Green,Blue)。因为红绿蓝是⾊光上的三原⾊,任何颜⾊都可以通过改变三原⾊的⽐重来调配出来。
虽然我们不是在计算机屏幕上混合颜料(我们⽤的是光!),但我们可以把RGB⽅案想象成三个颜料桶,⼀个红的,⼀个绿的和⼀个蓝的。每个桶⾥都是满的,我们可以看成满桶的值是1(100%)。然后把所有的红颜料和绿颜料混在⼀起放在⼀个⼤缸⾥,这样就产⽣了黄⾊。
现在我们尝试⽤海龟画⼀个黄⾊的圆,我们要⽤100%的红⾊和绿⾊颜料,不能使⽤蓝⾊:
python代码画图案效果如下:
>>> t.color(1,1,0) ##100%的红⾊,100%的绿⾊,0%的蓝⾊
>>> t.begin_fill() ##给后⾯的形状填⾊
>>> t.circle(50)>>> t.end_fill() ##⽤RGB颜⾊来给圆填⾊
黄⾊的圆
1,⽤来画填⾊圆形的函数false sharing
为了更容易地⽤不同的颜⾊来试验,我们来把画圆填⾊的代码写成⼀个函数:
>>> defmycircle(red,green,blue):
t.begin_fill()
t.circle(50)
我们可以只⽤绿⾊来画⼀个很亮的绿⾊的圆,如图A:
>>> mycircle(0,1,0)
也可以⽤⼀半的绿⾊(0.5)来画⼀个深绿⾊的圆,如图B:
>>> mycircle(0,0.5,0)
A:
linux创建文件命令是什么
B:
2,使⽤纯⽩和纯⿊
当天空没有了太阳,世界就变得⼀切⿊暗(假设我们那时候还没有发明灯)。类⽐,如果让三种颜⾊都设置为0,就相当于没有光,这时候画出来的图形都是⿊⾊的;反之为1全为⽩。python3代码大全
>>> mycircle(0,0,0)
五、画正⽅形的函数
>>> defmysquare(size):for x in range(1,5):
t.forward(size)
t.left(90)
>>> mysquare(25)>>> mysquare(50)>>> mysquare(75)>>> mysquare(100)>>> mysquare(125)
效果如下:
六、画填⾊正⽅形
要对正⽅形填⾊,⾸先要重置画布,开始填⾊,然后在调⽤正⽅形函数,过程如下:
>>&set()>>>t.begin_fill()>>> mysquare(50)>>> t.end_fill() ##加⼊这⾏代码前,你应当看到⼀个空的正⽅形,直到你结束填充
效果如下:
我们现在可以改变下这个函数,让它既可以画填好的正⽅形也可以画不填⾊的正⽅形。>>> defmysquare(size,filled):if filled ==True:
t.begin_fill()for x in range(1,5):
t.forward(size)
t.left(90)if filled ==True:
下⾯我们可以画⼀个填了⾊的正⽅形:
>>> mysquare(50,True)
接着画⼀个没有填⾊的正⽅形:
>>> mysquare(150,False)
七、画填好⾊的星星
现在我们要写⼀个mystar函数
>>> defmystar(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:
log4j2 配置定时清理
mystar函数
现在我们可以画⼀个⾦⾊(90%红⾊,75%绿⾊,0%的蓝⾊)的星星
>>> t.color(0.9,0.75,0)>>> mystar(120,True)
效果如下:
要给星星画上轮廓,把颜⾊改成⿊⾊并且不⽤填⾊再画⼀遍星星:
>>&lor(0,0,0)>>> mystar(120,False)
效果如下:
总结
今天下午收获颇丰,忘记了吃饭,忘记了打游戏,⼀直在学习Python作图。学会了如何⽤turtle模块画⼏个基本的⼏何图形,还有⽤for循环和if语句来控制海龟在屏幕上的动作。同时可以改变海龟的笔的颜⾊并给它所画的形状填⾊。还⽤了⼀些函数(⽐如 def 函数)来重⽤绘图的代码,提⾼了效率。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。