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中__init__()方法的高级应用
May 11 Python
解读Python编程中的命名空间与作用域
Oct 16 Python
Python基于list的append和pop方法实现堆栈与队列功能示例
Jul 24 Python
Python将图片转换为字符画的方法
Jun 16 Python
用pandas按列合并两个文件的实例
Apr 12 Python
Python动态生成多维数组的方法示例
Aug 09 Python
python查看模块安装位置的方法
Oct 16 Python
解决nohup执行python程序log文件写入不及时的问题
Jan 14 Python
Python 多线程,threading模块,创建子线程的两种方式示例
Sep 29 Python
np.newaxis 实现为 numpy.ndarray(多维数组)增加一个轴
Nov 30 Python
python 从list中随机取值的方法
Nov 16 Python
Python+DeOldify实现老照片上色功能
Jun 21 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
迅雷下载《中学科技》怀旧期刊下载
2021/02/27 无线电
PHP在innodb引擎下快速代建全文搜索功能简明教程【基于xunsearch】
2016/10/14 PHP
node.js 一个简单的页面输出实现代码
2012/03/07 Javascript
Google的跟踪代码 动态加载js代码方法应用
2012/11/12 Javascript
关于scrollLeft,scrollTop的浏览器兼容性测试
2013/03/19 Javascript
jsPDF导出pdf示例
2014/05/02 Javascript
JavaScript中${pageContext.request.contextPath}取值问题及解决方案
2016/12/08 Javascript
ES6中的箭头函数实例详解
2017/04/06 Javascript
js简单实现网页换肤功能
2017/04/07 Javascript
JavaScript之json_动力节点Java学院整理
2017/06/29 Javascript
Vue Element使用icon图标教程详解(第三方)
2018/02/07 Javascript
微信小程序中网络请求缓存的解决方法
2019/12/29 Javascript
js实现登录拖拽窗口
2020/02/10 Javascript
jquery制作的移动端购物车效果完整示例
2020/02/24 jQuery
JavaScript多种图形实现代码实例
2020/06/28 Javascript
Python2.x版本中基本的中文编码问题解决
2015/10/12 Python
Python正则抓取网易新闻的方法示例
2017/04/21 Python
Python使用Dijkstra算法实现求解图中最短路径距离问题详解
2018/05/16 Python
PyCharm配置mongo插件的方法
2018/11/30 Python
python中数组和矩阵乘法及使用总结(推荐)
2019/05/18 Python
python实现图像拼接功能
2020/03/23 Python
python3.7+selenium模拟淘宝登录功能的实现
2020/05/26 Python
Python xpath表达式如何实现数据处理
2020/06/13 Python
Python应用实现处理excel数据过程解析
2020/06/19 Python
浅谈盘点5种基于Python生成的个性化语音方法
2021/02/05 Python
HTML5中原生的右键菜单创建方法
2016/06/28 HTML / CSS
阿迪达斯印度官方商城:adidas India
2017/03/26 全球购物
普罗米修斯教学反思
2014/02/06 职场文书
经典安踏广告词
2014/03/21 职场文书
服务承诺书
2015/01/19 职场文书
2015年银行客户经理工作总结
2015/04/01 职场文书
医药公司采购员岗位职责
2015/04/03 职场文书
校园安全教育心得体会
2016/01/15 职场文书
Matlab如何实现矩阵复制扩充
2021/06/02 Python
使用Vue3+Vant组件实现App搜索历史记录功能(示例代码)
2021/06/09 Vue.js
用PYTHON去计算88键钢琴的琴键频率和音高
2022/04/10 Python