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实现sublime3的less编译插件示例
Apr 27 Python
跟老齐学Python之不要红头文件(2)
Sep 28 Python
Python调用命令行进度条的方法
May 05 Python
python清除字符串里非数字字符的方法
Jul 02 Python
利用Python破解验证码实例详解
Dec 08 Python
python+pillow绘制矩阵盖尔圆简单实例
Jan 16 Python
对Python模块导入时全局变量__all__的作用详解
Jan 11 Python
python list多级排序知识点总结
Oct 23 Python
基于python3抓取pinpoint应用信息入库
Jan 08 Python
Tensorflow:转置函数 transpose的使用详解
Feb 11 Python
python map比for循环快在哪
Sep 21 Python
Python 数据可视化之Bokeh详解
Nov 02 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
PHP初学者头疼问题总结
2006/10/09 PHP
php array_filter除去数组中的空字符元素
2020/06/21 PHP
使用IE6看老赵的博客 jQuery初探
2010/01/17 Javascript
JS 两日期相减,获得天数的小例子(兼容IE,FF)
2013/07/01 Javascript
基于jquery插件制作左右按钮与标题文字图片切换效果
2013/11/07 Javascript
jquery 自定义容器下雨效果可将下雨图标改为其他
2014/04/23 Javascript
JavaScript实现的字符串replaceAll函数代码分享
2015/04/02 Javascript
javascript数组排序汇总
2015/07/07 Javascript
Bootstrap实现默认导航栏效果
2020/09/21 Javascript
跨域请求的完美解决方法(JSONP, CORS)
2016/06/12 Javascript
完美的js div拖拽实例代码
2016/09/24 Javascript
ajax 提交数据到后台jsp页面及页面跳转问题
2017/01/19 Javascript
Ajax基础知识详解
2017/02/17 Javascript
JavaScript实现审核流程状态的动态显示进度条
2017/03/15 Javascript
vue实现动态数据绑定
2017/04/28 Javascript
Javascript实现从小到大的数组转换成二叉搜索树
2017/06/13 Javascript
解决layui上传文件提示上传异常,实际文件已经上传成功的问题
2018/08/19 Javascript
解决Vue + Echarts 使用markLine标线(precision精度问题)
2020/07/20 Javascript
[01:14]辉夜杯战队访谈宣传片—NEWBEE.Y
2015/12/26 DOTA
[46:43]DOTA2上海特级锦标赛主赛事日 - 1 胜者组第一轮#2LGD VS MVP.Phx第二局
2016/03/02 DOTA
用Python编写一个简单的俄罗斯方块游戏的教程
2015/04/03 Python
深入解析Python的Tornado框架中内置的模板引擎
2016/07/11 Python
python修改txt文件中的某一项方法
2018/12/29 Python
Python OpenCV 调用摄像头并截图保存功能的实现代码
2019/07/02 Python
Python读取xlsx文件的实现方法
2019/07/04 Python
Python基于paramunittest模块实现excl参数化
2020/04/26 Python
python日志通过不同的等级打印不同的颜色(示例代码)
2021/01/13 Python
Gweniss格温妮丝女包官网:英国纯手工制造潮流包包品牌
2018/02/07 全球购物
数控专业个人求职信范例
2013/11/29 职场文书
修理厂厂长岗位职责
2014/01/30 职场文书
幼儿园小班家长寄语
2014/04/02 职场文书
幼儿教师师德演讲稿
2014/05/06 职场文书
给校长的建议书500字
2014/05/15 职场文书
2014年超市工作总结
2014/11/19 职场文书
戒赌保证书
2015/05/11 职场文书
教师岗位说明书
2015/09/30 职场文书