四、填色

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,用来画填色圆形的函数

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

>>> defmycircle(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)

五、画正方形的函数

>>> defmysquare(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() ##加入这行代码前,你应当看到一个空的正方形,直到你结束填充

效果如下:

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

>>> defmysquare(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函数

>>> 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:

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海龟绘图颜色_Python中的高级turtle(海龟)作图(续)相关推荐

  1. python海龟绘图颜色_python中利用turtle(海龟)绘图制作龟兔赛跑动画——仅供学习...

    python中利用turtle(海龟)绘图制作龟兔赛跑动画--仅供学习哦 首先,欢迎大家来我的博客当中浏览,由于我和我的可爱现在还都个初学者,所作的东西还不够完善,之前在学习计算机的各种语言的过程中, ...

  2. python改变背景颜色_python中绘图时怎么改背景颜色?

    python中一般使用matplotlib库进行绘图,下面我们就来看一下python中绘图时修改背景颜色的方法: 子图可以对plt.subplot的参数做修改,下面是对子图的背景颜色修改代码:impo ...

  3. python海龟作图好看图案_Python中的高级turtle(海龟)作图

    在Python里,海龟不仅可以画简单的黑线,还可以用它画更复杂的几何图形,用不同的颜色,甚至还可以给形状填色. 一.从基本的正方形开始 引入turtle模块并创建Pen对象: >>> ...

  4. python有什么颜色_Python中常见颜色记录

    python中常见绘图的颜色选择 常见颜色 可选的颜色库 颜色名称对应的颜色码 names = { 'aliceblue': '#F0F8FF', 'antiquewhite': '#FAEBD7', ...

  5. python怎样填充颜色_python中如何给图形填充颜色

    使用Turtle不只可以画线条,也可以将画出的封闭线条进行填充. -设定填充色:fillecolor(r, g, b) -开始填充:begin_fill() -结束填充:end_fill() 画一组随 ...

  6. python饼图添加颜色_Python中的五颜六色的饼状图!(二)

    [5x00]突出显示扇形块 explode 参数可以实现突出显示某一块扇区,接收数组形式的参数,这个数组中的元素个数应该是 len(x),即和扇区块的数量相同.import matplotlib.py ...

  7. python自带编辑器如何海龟作图_使用Python中的高级turtle(海龟)作图方法

    在Python里,海龟不仅可以画简单的黑线,还可以用它画更复杂的几何图形,用不同的颜色,甚至还可以给形状填色. 一.从基本的正方形开始 引入turtle模块并创建Pen对象: >>> ...

  8. python算法和数据结构_Python中的数据结构和算法

    python算法和数据结构 To 至 Leonardo da Vinci 达芬奇(Leonardo da Vinci) 介绍 (Introduction) The purpose of this ar ...

  9. python海龟绘图圆形_python之海龟绘图

    1. 基本功能介绍 在海龟作图中,我们可以编写指令让一个虚拟的(想象中的)海龟在屏幕上来回移动.这个海龟带着一只钢笔,我们可以让海龟无论移动到哪都使用这只钢笔来绘制线条.通过编写代码,以各种很酷的模式 ...

最新文章

  1. etcd与mysql_一、配置etcd数据库
  2. 统计学原理-----概率分布
  3. python二次开发攻略-ABAQUS Python二次开发攻略
  4. 4.3 IDEA 常用快捷键
  5. Python实现二叉树的三种深度遍历方法!
  6. java 自定义函数的调用_Java/Android中的函数调用回调函数自定义回调函数
  7. 文件查找工具everything的下载使用
  8. ios pusher使用_使用.NET和Pusher构建实时评论功能
  9. IOS启程01-配制CocoaPods来管理第三方类库
  10. Android 播放SD卡视频 Demo
  11. java aop xml配置_spring AOP使用 xml配置
  12. IDEA代码格式化会快捷键Ctrl+Alt+L失效
  13. 邮箱如何发邮件?邮箱怎么发邮件,掌握这几点,轻松搞定
  14. 微分方程——线性微分方程
  15. spring boot 项目 事务 不能回滚 代理(not eligible for auto-proxying)
  16. 图像处理-HSV和RGB相互转换
  17. html5残影,液晶显示器出现残影的原因及解决办法
  18. 《你的孤独,虽败尤荣》摘抄及想法
  19. python名片二维码生成功能的实现 200305
  20. PDMS二次开发(一)——PML类型程序类型与概念

热门文章

  1. python中%d %2d %02d %-2d% %.2d的区别
  2. 感人的故事值得分享给大家
  3. 微信小程序asp服务器架设,小程序与ASP做数据库交互
  4. Authorization not available. Check if polkit service is running or see debug message for more inform
  5. freemaker中空值,null值,不存在的属性的判断
  6. java excel导入兼容性,使用poi导入Excel文件兼容性问题
  7. 计算机怎么设置搜索桌面,桌面记事本,教您如何在电脑桌面添加好用的便签!...
  8. 应用架构、业务架构、技术架构和业务流程图详解「建议收藏」
  9. 中国金属采矿行业前景调研及发展战略深度研究报告2022-2028年
  10. 论文阅读:GCRN:Learning Complex Spectral Mapping With GatedConvolutional Recurrent Networks forMonaural