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数组的处理代码
Jan 04 Python
python不带重复的全排列代码
Aug 13 Python
bat和python批量重命名文件的实现代码
May 19 Python
Python 'takes exactly 1 argument (2 given)' Python error
Dec 13 Python
对pandas的dataframe绘图并保存的实现方法
Aug 05 Python
win10系统下Anaconda3安装配置方法图文教程
Sep 19 Python
Python3利用Dlib实现摄像头实时人脸检测和平铺显示示例
Feb 21 Python
不到20行代码用Python做一个智能聊天机器人
Apr 19 Python
Python绘制二维曲线的日常应用详解
Dec 04 Python
python RSA加密的示例
Dec 09 Python
pytest fixtures装饰器的使用和如何控制用例的执行顺序
Jan 28 Python
基于flask实现五子棋小游戏
May 25 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
ftp类(example.php)
2006/10/09 PHP
php下载文件源代码(强制任意文件格式下载)
2014/05/09 PHP
教你如何用php实现LOL数据远程获取
2014/06/10 PHP
基于laravel制作APP接口(API)
2016/03/15 PHP
php中使用websocket详解
2016/09/23 PHP
php防止sql注入的方法详解
2017/02/20 PHP
CodeIgniter框架实现的整合Smarty引擎DEMO示例
2019/03/28 PHP
关于实现代码语法标亮 dp.SyntaxHighlighter
2007/02/02 Javascript
js textarea自动增高并隐藏滚动条
2009/12/16 Javascript
javascript 运算数的求值顺序
2011/08/23 Javascript
浅析jQuery Mobile的初始化事件
2015/12/03 Javascript
jQuery事件绑定方法学习总结(推荐)
2016/11/21 Javascript
node.js中EJS 模板快速入门教程
2017/05/08 Javascript
如何理解Vue的作用域插槽的实现原理
2017/08/19 Javascript
利用jsonp与代理服务器方案解决跨域问题
2017/09/14 Javascript
mescroll.js上拉加载下拉刷新组件使用详解
2017/11/13 Javascript
Vue2.0系列之过滤器的使用
2018/03/01 Javascript
解决Vue.js 2.0 有时双向绑定img src属性失败的问题
2018/03/14 Javascript
javascript 对象 与 prototype 原型用法实例分析
2019/11/11 Javascript
vue实现浏览器全屏展示功能
2019/11/27 Javascript
JS数组进阶示例【数组的几种函数用法】
2020/01/16 Javascript
详解vue或uni-app的跨域问题解决方案
2020/02/21 Javascript
vue实现PC端分辨率适配操作
2020/08/03 Javascript
压缩包密码破解示例分享(类似典破解)
2014/01/17 Python
Python对象的深拷贝和浅拷贝详解
2014/08/25 Python
Python multiprocessing多进程原理与应用示例
2019/02/28 Python
python3对接mysql数据库实例详解
2019/04/30 Python
pytorch使用 to 进行类型转换方式
2020/01/08 Python
html5与css3小应用
2013/04/03 HTML / CSS
html5中的input新属性range使用记录
2014/09/05 HTML / CSS
网络通讯中,端口有什么含义,端口的取值范围
2012/11/23 面试题
求职信范文英文版
2014/01/05 职场文书
期中考试后的反思
2014/02/08 职场文书
乡镇网格化管理实施方案
2014/03/23 职场文书
无犯罪记录证明
2014/09/19 职场文书
停课通知书
2015/04/24 职场文书