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程序的循环的运行效率的原因
Apr 01 Python
python 使用sys.stdin和fileinput读入标准输入的方法
Oct 17 Python
python之Flask实现简单登录功能的示例代码
Dec 24 Python
python 实现视频流下载保存MP4的方法
Jan 09 Python
python导包的几种方法(自定义包的生成以及导入详解)
Jul 15 Python
django自带serializers序列化返回指定字段的方法
Aug 21 Python
python统计函数库scipy.stats的用法解析
Feb 25 Python
超全Python图像处理讲解(多模块实现)
Apr 13 Python
Python 程序员必须掌握的日志记录
Aug 17 Python
Python tkinter之ComboBox(下拉框)的使用简介
Feb 05 Python
Python数据分析入门之数据读取与存储
May 13 Python
python实现自定义日志的具体方法
May 28 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蜘蛛统计插件只要有mysql就可用
2010/10/12 PHP
解析数组非数字键名引号的必要性
2013/08/09 PHP
php实现mysql数据库操作类分享
2014/02/14 PHP
php如何解决无法上传大于8M的文件问题
2014/03/10 PHP
PHP 实现的将图片转换为TXT
2015/10/21 PHP
前端必学之PHP语法基础
2016/01/01 PHP
lnmp安装多版本PHP共存的方法详解
2018/08/02 PHP
Laravel框架验证码类用法实例分析
2019/09/11 PHP
js生成随机数的过程解析
2015/11/24 Javascript
JavaScript判断按钮被点击的方法
2015/12/13 Javascript
理解js对象继承的N种模式
2016/01/25 Javascript
JS组件Bootstrap导航条使用方法详解
2016/04/29 Javascript
第一篇初识bootstrap
2016/06/21 Javascript
Javascript实现图片不间断滚动的代码
2016/06/22 Javascript
jQuery中map函数的两种方式
2017/04/07 jQuery
微信小程序 生命周期函数详解
2017/05/24 Javascript
vue使用vue-cli快速创建工程
2017/07/28 Javascript
微信小程序实现默认第一个选中变色效果
2018/07/17 Javascript
11个教程中不常被提及的JavaScript小技巧(推荐)
2019/04/17 Javascript
JavaScript跳出循环的三种方法(break, return, continue)
2019/07/30 Javascript
vue中监听路由参数的变化及方法
2019/12/06 Javascript
JavaScript实现滑块验证解锁
2021/01/07 Javascript
python 随机数生成的代码的详细分析
2011/05/15 Python
批处理与python代码混合编程的方法
2016/05/19 Python
对python特殊函数 __call__()的使用详解
2019/07/02 Python
Python 的 f-string 可以连接字符串与数字的原因解析
2021/02/20 Python
北卡罗来纳州豪华家具和家居装饰店:Carolina Rustica
2018/10/30 全球购物
最常使用的求职信
2014/05/25 职场文书
标准毕业生自荐信
2014/06/24 职场文书
政风行风整改方案
2014/10/25 职场文书
营销与策划实训报告
2014/11/05 职场文书
寻衅滋事罪辩护词
2015/05/21 职场文书
入党心得体会
2019/06/20 职场文书
python自动计算图像数据集的RGB均值
2021/06/18 Python
SQL Server中使用判断语句(IF ELSE/CASE WHEN )案例
2021/07/07 SQL Server
聊聊配置 Nginx 访问与错误日志的问题
2022/05/25 Servers