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实现dnspod自动更新dns解析的方法
Feb 14 Python
python文件读写操作与linux shell变量命令交互执行的方法
Jan 14 Python
Python实现的多线程端口扫描工具分享
Jan 21 Python
Python编程生成随机用户名及密码的方法示例
May 05 Python
浅谈Python2获取中文文件名的编码问题
Jan 09 Python
Python 实现12306登录功能实例代码
Feb 09 Python
Sanic框架异常处理与中间件操作实例分析
Jul 16 Python
pandas的连接函数concat()函数的具体使用方法
Jul 09 Python
将python文件打包exe独立运行程序方法详解
Feb 12 Python
python GUI库图形界面开发之PyQt5不规则窗口实现与显示GIF动画的详细方法与实例
Mar 09 Python
python代码实现扫码关注公众号登录的实战
Nov 01 Python
python图像处理 PIL Image操作实例
Apr 09 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的autoload机制的实现解析
2012/09/15 PHP
php+mysql大量用户登录解决方案分析
2014/12/29 PHP
php简单实现短网址(短链)还原的方法(测试可用)
2016/05/09 PHP
Yii统计不同类型邮箱数量的方法
2016/10/18 PHP
php依赖注入知识点详解
2019/09/23 PHP
Avengerls vs KG BO3 第一场2.18
2021/03/10 DOTA
表单类各种类型(文本框)失去焦点效果jquery代码
2013/04/26 Javascript
php is_numberic函数造成的SQL注入漏洞
2014/03/10 Javascript
$("").click与onclick的区别示例介绍
2014/09/25 Javascript
JavaScript:Date类型全面解析
2016/05/19 Javascript
javascript获取select标签选中的值
2016/06/04 Javascript
jQuery判断是否存在滚动条的简单方法
2016/09/17 Javascript
JavaScript中原型链存在的问题解析
2016/09/25 Javascript
详细讲解vue2+vuex+axios
2017/05/27 Javascript
使用vue开发移动端管理后台的注意事项
2019/03/07 Javascript
JavaScript this在函数中的指向及实例详解
2019/10/14 Javascript
[32:30]夜魇凡尔赛茶话会 第一期01:谁是卧底
2021/03/11 DOTA
Odoo中如何生成唯一不重复的序列号详解
2018/02/10 Python
python 实时得到cpu和内存的使用情况方法
2018/06/11 Python
Python 中导入csv数据的三种方法
2018/11/01 Python
Flask框架web开发之零基础入门
2018/12/10 Python
Python实现通过解析域名获取ip地址的方法分析
2019/05/17 Python
Python数据处理篇之Sympy系列(五)---解方程
2019/10/12 Python
tensorflow实现二维平面模拟三维数据教程
2020/02/11 Python
Python pip配置国内源的方法
2020/02/14 Python
python对接ihuyi实现短信验证码发送
2020/05/10 Python
python list的index()和find()的实现
2020/11/16 Python
python 利用matplotlib在3D空间中绘制平面的案例
2021/02/06 Python
项目管理计划书
2014/01/09 职场文书
付款委托书范本
2014/04/04 职场文书
求职信内容怎么写
2014/05/26 职场文书
中学清明节活动总结
2014/07/04 职场文书
国家奖学金获奖感言
2014/08/16 职场文书
高中运动会前导词
2015/07/20 职场文书
加薪申请书应该这样写!
2019/07/04 职场文书
当你找不到方向的时候,不妨读读刘备的一生
2019/08/05 职场文书