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获取服务器信息的最简单实现方法
Mar 05 Python
Win10下Python环境搭建与配置教程
Nov 18 Python
Python3安装Pymongo详细步骤
May 26 Python
Python的装饰器使用详解
Jun 26 Python
python实现神经网络感知器算法
Dec 20 Python
python http接口自动化脚本详解
Jan 02 Python
Python3删除排序数组中重复项的方法分析
Jan 31 Python
python+pygame实现坦克大战
Sep 10 Python
Python 日志logging模块用法简单示例
Oct 18 Python
pd.DataFrame统计各列数值多少的实例
Dec 05 Python
python 基于Apscheduler实现定时任务
Dec 15 Python
python 可视化库PyG2Plot的使用
Jan 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
超人钢铁侠联手合作?美漫作家呼吁DC漫威合作联动以抵抗疫情
2020/04/09 欧美动漫
php过滤HTML标签、属性等正则表达式汇总
2014/09/22 PHP
php隐藏IP地址后两位显示为星号的方法
2014/11/21 PHP
Yii配置文件用法详解
2014/12/04 PHP
10个php函数实用却不常见
2015/10/13 PHP
PHP制作用户注册系统
2015/10/23 PHP
Laravel框架使用monolog_mysql实现将系统日志信息保存到mysql数据库的方法
2018/08/16 PHP
dropdownlist之间的互相联动实现(显示与隐藏)
2009/11/24 Javascript
jqPlot 基于jquery的画图插件
2011/04/26 Javascript
手写的一个兼容各种浏览器的javascript getStyle函数(获取元素的样式)
2014/06/06 Javascript
Node.js安装教程和NPM包管理器使用详解
2014/08/16 Javascript
浅谈js中的闭包
2015/03/16 Javascript
AngularJS基础学习笔记之表达式
2015/05/10 Javascript
jquery实现的Banner广告收缩效果代码
2015/09/02 Javascript
基于PHP和Mysql相结合使用jqGrid读取数据并显示
2015/12/02 Javascript
jQuery实现的导航下拉菜单效果
2016/07/04 Javascript
web前端vue实现插值文本和输出原始html
2018/01/19 Javascript
AngularJS 多指令Scope问题的解决
2018/10/25 Javascript
JavaScript时间日期操作实例小结【5个示例】
2018/12/22 Javascript
JS栈stack类的实现与使用方法示例
2019/01/31 Javascript
[02:55]DOTA2英雄基础教程 发条技师
2013/12/04 DOTA
[35:39]完美世界DOTA2联赛PWL S2 FTD.C vs Rebirth 第二场 11.22
2020/11/24 DOTA
Python调用C++程序的方法详解
2017/01/24 Python
python 接口测试response返回数据对比的方法
2018/02/11 Python
Python实现字符串中某个字母的替代功能
2019/10/21 Python
浅析Django中关于session的使用
2019/12/30 Python
将tf.batch_matmul替换成tf.matmul的实现
2020/06/18 Python
详解html5 canvas常用api总结(二)--绘图API
2016/12/14 HTML / CSS
J2ee常用的设计模式?说明工厂模式
2015/05/21 面试题
导游个人求职信范文
2014/03/23 职场文书
《鲁班和橹板》教学反思
2014/04/27 职场文书
专升本学生毕业自我鉴定
2014/10/04 职场文书
南京南京观后感
2015/06/02 职场文书
辩论会主持词
2015/07/03 职场文书
导游词之澳门玫瑰圣母堂
2019/12/03 职场文书
用Python提取PDF表格的方法
2021/04/11 Python