Python利用turtle库绘制彩虹代码示例


Posted in Python onDecember 20, 2017

语言:Python
IDE:Python.IDE

需求

做出彩虹效果

颜色空间

RGB模型:光的三原色,共同决定色相
HSB/HSV模型:H色彩,S深浅,B饱和度,H决定色相
需要将HSB模型转换为RGB模型

代码示例

#-*- coding:utf-8 ?*-
from turtle import *

def HSB2RGB(hues):
 hues = hues * 3.59 #100转成359范围
 rgb=[0.0,0.0,0.0]
 i = int(hues/60)%6
 f = hues/60 -i
 if i == 0:
  rgb[0] = 1; rgb[1] = f; rgb[2] = 0
 elif i == 1:
  rgb[0] = 1-f; rgb[1] = 1; rgb[2] = 0
 elif i == 2:
  rgb[0] = 0; rgb[1] = 1; rgb[2] = f
 elif i == 3:
  rgb[0] = 0; rgb[1] = 1-f; rgb[2] = 1
 elif i == 4:
  rgb[0] = f; rgb[1] = 0; rgb[2] = 1
 elif i == 5:
  rgb[0] = 1; rgb[1] = 0; rgb[2] = 1-f
 return rgb

def rainbow():
 hues = 0.0
 color(1,0,0)
 #绘制彩虹
 hideturtle()
 speed(100)
 pensize(3)
 penup()
 goto(-400,-300)
 pendown()
 right(110)
 for i in range (100):
  circle(1000)
  right(0.13)
  hues = hues + 1
  rgb = HSB2RGB(hues)
  color(rgb[0],rgb[1],rgb[2]) 
 penup()

def main():
 setup(800, 600, 0, 0)
 bgcolor((0.8, 0.8, 1.0))
 tracer(False)
 rainbow()
 #输出文字
 tracer(False)
 goto(100,-100)
 pendown()
 color("red")
 write("三水点靠木",align="center",
   font=("Script MT Bold", 80, "bold"))
 tracer(True)

 mainloop()

if __name__ == "__main__":
 main()

效果展示:

Python利用turtle库绘制彩虹代码示例

总结

起初在图片上添加中文“三水点靠木”的时候,由于小编使用的是Python2.x,还发生了乱码,解决方法很简单,在代码前面添加一句

#-*- coding:utf-8 ?*-

更详细办法参考:python中文乱码不着急,先看懂字节和字符

以上就是本文关于Python利用turtle库绘制彩虹代码示例的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站:

如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

Python 相关文章推荐
SublimeText 2编译python出错的解决方法(The system cannot find the file specified)
Nov 27 Python
跟老齐学Python之有点简约的元组
Sep 24 Python
virtualenv实现多个版本Python共存
Aug 21 Python
python3中zip()函数使用详解
Jun 29 Python
Python生成器的使用方法和示例代码
Mar 04 Python
python导入坐标点的具体操作
May 10 Python
一篇文章彻底搞懂Python中可迭代(Iterable)、迭代器(Iterator)与生成器(Generator)的概念
May 13 Python
计算机二级python学习教程(1) 教大家如何学习python
May 16 Python
python 实现查询Neo4j多节点的多层关系
Dec 23 Python
使用SQLAlchemy操作数据库表过程解析
Jun 10 Python
Python中三维坐标空间绘制的实现
Sep 22 Python
在Django中使用MQTT的方法
May 10 Python
浅谈Python中range和xrange的区别
Dec 20 #Python
python机器学习实战之树回归详解
Dec 20 #Python
使用python 和 lint 删除项目无用资源的方法
Dec 20 #Python
python机器学习实战之K均值聚类
Dec 20 #Python
Python绘制3d螺旋曲线图实例代码
Dec 20 #Python
python机器学习实战之最近邻kNN分类器
Dec 20 #Python
python3.6 +tkinter GUI编程 实现界面化的文本处理工具(推荐)
Dec 20 #Python
You might like
在字符串中把网址改成超级链接
2006/10/09 PHP
php自动跳转中英文页面
2008/07/29 PHP
PHP数组内存耗用太多问题的解决方法
2010/04/05 PHP
理解php Hash函数,增强密码安全
2011/02/25 PHP
PHP中CURL的CURLOPT_POSTFIELDS参数使用细节
2014/03/17 PHP
简单谈谈PHP中strlen 函数
2016/02/27 PHP
thinkPHP显示不出验证码的原因与解决方法分析
2017/05/20 PHP
PHP API接口必备之输出json格式数据示例代码
2017/06/27 PHP
详解将数据从Laravel传送到vue的四种方式
2019/10/16 PHP
学习YUI.Ext 第七天--关于View&JSONView
2007/03/10 Javascript
原生js写的放大镜效果
2012/08/22 Javascript
利用js动态添加删除table行的示例代码
2013/12/16 Javascript
Javascript 构造函数详解
2014/10/22 Javascript
js跨域请求的5中解决方式
2015/07/02 Javascript
深入理解JavaScript中的对象复制(Object Clone)
2016/05/18 Javascript
Ajax跨域实现代码(后台jsp)
2017/01/21 Javascript
数组Array的排序sort方法
2017/02/17 Javascript
Angular中$broadcast和$emit的使用方法详解
2017/05/22 Javascript
Jquery EasyUI $.Parser
2017/06/02 jQuery
VUE axios上传图片到七牛的实例代码
2017/07/28 Javascript
javascript计算对象长度的方法
2017/10/25 Javascript
Webpack打包字体font-awesome的方法示例
2018/04/26 Javascript
在vue中v-bind使用三目运算符绑定class的实例
2018/09/29 Javascript
vue-router为激活的路由设置样式操作
2020/07/18 Javascript
Python字符串、元组、列表、字典互相转换的方法
2016/01/23 Python
Python实现并行抓取整站40万条房价数据(可更换抓取城市)
2016/12/14 Python
Python开发的实用计算器完整实例
2017/05/10 Python
详解python中init方法和随机数方法
2019/03/13 Python
python实现小世界网络生成
2019/11/21 Python
canvas实现图片镜像翻转的2种方式
2020/07/22 HTML / CSS
玩具反斗城西班牙网上商城:ToysRUs西班牙
2017/01/19 全球购物
《一本男孩子必读的书》教学反思
2014/02/19 职场文书
客户答谢会活动方案
2014/08/31 职场文书
母亲节寄语大全
2015/02/27 职场文书
有关水浒传的读书笔记
2015/06/25 职场文书
社区服务活动感想
2015/08/11 职场文书