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 相关文章推荐
Python学习笔记_数据排序方法
May 22 Python
Python入门篇之字典
Oct 17 Python
详解Python发送邮件实例
Jan 10 Python
python 统计代码行数简单实例
May 04 Python
Python之py2exe打包工具详解
Jun 14 Python
Python对列表中的各项进行关联详解
Aug 15 Python
使用python opencv对目录下图片进行去重的方法
Jan 12 Python
django解决跨域请求的问题详解
Jan 20 Python
Python3中的bytes和str类型详解
May 02 Python
简单了解python filter、map、reduce的区别
Jan 14 Python
Python3交互式shell ipython3安装及使用详解
Jul 11 Python
python 爬取豆瓣网页的示例
Apr 13 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
smtp邮件发送一例
2006/10/09 PHP
PHP内存缓存Memcached类实例
2014/12/08 PHP
浅谈php的优缺点
2015/07/14 PHP
Js的MessageBox
2006/12/03 Javascript
基于jquery的跨域调用文件
2010/11/19 Javascript
15个款优秀的 jQuery 图片特效插件推荐
2011/11/21 Javascript
jQuery登陆判断简单实现代码
2013/04/21 Javascript
浅析webapp框架AngularUI的demo
2014/12/21 Javascript
JavaScript的Backbone.js框架的一些使用建议整理
2016/02/14 Javascript
js去字符串前后空格的实现方法
2016/02/26 Javascript
Javascript类型系统之String字符串类型详解
2016/06/21 Javascript
js中string和number类型互转换技巧(分享)
2016/11/28 Javascript
Vue 2.x教程之基础API
2017/03/06 Javascript
CSS3 动画卡顿性能优化的完美解决方案
2018/09/20 Javascript
Vue动画事件详解及过渡动画实例
2019/02/09 Javascript
详解如何更好的使用module vuex
2019/03/27 Javascript
javascript canvas时钟模拟器
2020/07/13 Javascript
Python实现抓取百度搜索结果页的网站标题信息
2015/01/22 Python
Python ftp上传文件
2016/02/13 Python
Python实现简单的语音识别系统
2017/12/13 Python
使用Python实现windows下的抓包与解析
2018/01/15 Python
python2.7读取文件夹下所有文件名称及内容的方法
2018/02/24 Python
通过PHP与Python代码对比的语法差异详解
2019/07/10 Python
使用python os模块复制文件到指定文件夹的方法
2019/08/22 Python
Django实现文件上传下载功能
2019/10/06 Python
使用python绘制温度变化雷达图
2019/10/18 Python
基于Python数据结构之递归与回溯搜索
2020/02/26 Python
俄罗斯品牌服装和鞋子的在线商店:KUPIVIP
2019/10/27 全球购物
美国最大的购物网站:Amazon.com(亚马逊美国)
2020/05/23 全球购物
为什么会有内存对齐
2016/10/10 面试题
大学生创业计划书的范文
2014/01/07 职场文书
计算机专业求职信
2014/06/02 职场文书
税务干部群众路线教育实践活动对照检查材料
2014/09/20 职场文书
经理聘任证明
2015/03/02 职场文书
2015年售票员工作总结
2015/04/29 职场文书
医生行业员工的辞职信
2019/06/24 职场文书