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实现TCP服务器端与客户端的方法详解
Apr 30 Python
python计算时间差的方法
May 20 Python
利用Python脚本实现ping百度和google的方法
Jan 24 Python
Anaconda入门使用总结
Apr 05 Python
python 寻找list中最大元素对应的索引方法
Jun 28 Python
python 读取Linux服务器上的文件方法
Dec 27 Python
numpy求平均值的维度设定的例子
Aug 24 Python
python+pygame实现坦克大战
Sep 10 Python
在pytorch中实现只让指定变量向后传播梯度
Feb 29 Python
python爬取音频下载的示例代码
Oct 19 Python
python 三种方法实现对Excel表格的读写
Nov 19 Python
vue.js刷新当前页面的实例讲解
Dec 29 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二维/三维数组转字符串
2013/09/13 PHP
100行PHP代码实现socks5代理服务器
2016/04/28 PHP
屏蔽PHP默认设置中的Notice警告的方法
2016/05/20 PHP
php框架CodeIgniter使用redis的方法分析
2018/04/13 PHP
PHP7内核之Reference详解
2019/03/14 PHP
JS 创建对象(常见的几种方法)
2008/11/03 Javascript
JavaScript的模块化:封装(闭包),继承(原型) 介绍
2013/07/22 Javascript
JavaScript实现的图像模糊算法代码分享
2014/04/22 Javascript
NodeJS学习笔记之Connect中间件应用实例
2015/01/27 NodeJs
JavaScript中的slice()方法使用详解
2015/06/06 Javascript
js实现div拖动动画运行轨迹效果代码分享
2015/08/27 Javascript
原生js实现自由拖拽弹窗代码demo
2016/06/29 Javascript
微信小程序  audio音频播放详解及实例
2016/11/02 Javascript
浅谈react+es6+webpack的基础配置
2017/08/09 Javascript
JavaScript实现的原生态兼容IE6可调可控滚动文字功能详解
2017/09/19 Javascript
vue.js开发实现全局调用的MessageBox组件实例代码
2017/11/22 Javascript
JS使用cookie保存用户登录信息操作示例
2019/05/30 Javascript
如何基于JS截获动态代码
2019/12/25 Javascript
在vue-cli3中使用axios获取本地json操作
2020/07/30 Javascript
基于Ionic3实现选项卡切换并重新加载echarts
2020/09/24 Javascript
使用Python判断质数(素数)的简单方法讲解
2016/05/05 Python
Python调用ctypes使用C函数printf的方法
2017/08/23 Python
python使用tkinter实现简单计算器
2018/01/30 Python
python匹配两个短语之间的字符实例
2018/12/25 Python
自适应线性神经网络Adaline的python实现详解
2019/09/30 Python
keras实现多种分类网络的方式
2020/06/11 Python
解决Keras使用GPU资源耗尽的问题
2020/06/22 Python
python Pexpect模块的使用
2020/12/25 Python
详解HTML5中的元素与元素
2015/08/17 HTML / CSS
有原因的手表:Flex Watches
2019/03/23 全球购物
法人代表授权委托书
2014/04/08 职场文书
单位租车协议书
2015/01/29 职场文书
党建工作目标管理责任书
2015/01/29 职场文书
2015年安全生产月工作总结
2015/07/27 职场文书
四十年同学聚会致辞
2015/07/28 职场文书
我的中国梦主题班会
2015/08/14 职场文书