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在控制台输出进度条的方法
Jun 20 Python
Django应用程序中如何发送电子邮件详解
Feb 04 Python
python 3调用百度OCR API实现剪贴板文字识别
Sep 04 Python
ML神器:sklearn的快速使用及入门
Jul 11 Python
Django框架视图介绍与使用详解
Jul 18 Python
flask框架单元测试原理与用法实例分析
Jul 23 Python
pycharm内无法import已安装的模块问题解决
Feb 12 Python
Flask和pyecharts实现动态数据可视化
Feb 26 Python
python3实现将json对象存入Redis以及数据的导入导出
Jul 16 Python
Python 如何查找特定类型文件
Aug 17 Python
Python如何把不同类型数据的json序列化
Apr 30 Python
python自动化八大定位元素讲解
Jul 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基础知识:函数基础知识
2006/12/13 PHP
phpmyadmin MySQL 加密配置方法
2009/07/05 PHP
php模板函数 正则实现代码
2012/10/15 PHP
php图片上传类 附调用方法
2016/05/15 PHP
PHP实现微信小程序用户授权的工具类示例
2019/03/05 PHP
QQ登录简单实现代码
2021/03/09 Javascript
javawscript 三级菜单的实现原理
2009/07/01 Javascript
javascript中运用闭包和自执行函数解决大量的全局变量问题
2010/12/30 Javascript
统计jQuery中各字符串出现次数的工具
2012/05/03 Javascript
EasyUI 中 MenuButton 的使用方法
2012/07/14 Javascript
Node.js中使用计时器定时执行函数详解
2014/08/15 Javascript
javascript中HTMLDOM操作详解
2014/12/11 Javascript
JS获取随机数和时间转换的简单实例
2016/07/10 Javascript
angular ngClick阻止冒泡使用默认行为的方法
2016/11/03 Javascript
利用js+css+html实现固定table的列头不动
2016/12/08 Javascript
vue+swiper实现组件化开发的实例代码
2017/10/26 Javascript
Vue+mui实现图片的本地缓存示例代码
2018/05/24 Javascript
如何解决.vue文件url引用文件的问题
2019/01/18 Javascript
说说如何利用 Node.js 代理解决跨域问题
2019/04/22 Javascript
用Python写飞机大战游戏之pygame入门(4):获取鼠标的位置及运动
2015/11/05 Python
使用Nginx+uWsgi实现Python的Django框架站点动静分离
2016/03/21 Python
浅析python的Lambda表达式
2019/02/27 Python
Python实现将HTML转成PDF的方法分析
2019/05/04 Python
pyftplib中文乱码问题解决方案
2020/01/11 Python
Python3自定义json逐层解析器代码
2020/05/11 Python
css3和jquery实现自定义checkbox和radiobox组件
2014/04/22 HTML / CSS
HTML5视频支持检测(检查浏览器是否支持视频播放)
2013/06/08 HTML / CSS
体验完美剃须:The Art of Shaving
2018/08/06 全球购物
马云的职业生涯规划之路
2014/01/01 职场文书
元旦晚会策划方案
2014/02/18 职场文书
市政工程技术专业自荐书
2014/07/06 职场文书
食品安全演讲稿
2014/09/01 职场文书
租房协议书范例
2014/10/14 职场文书
大学生团员个人总结
2015/02/14 职场文书
导游词之山西祁县乔家大院
2019/10/14 职场文书
启迪人心的励志语录:脾气永远不要大于本事
2020/01/02 职场文书