Python利用turtle库绘制彩虹代码示例

作者:Mrlboro 时间:2022-03-04 03:55:01 

语言: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中turtle作图示例

Python内置模块turtle绘图详解

如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

来源:http://blog.csdn.net/yangxing2/article/details/78637937

标签:python,turtle,实例
0
投稿

猜你喜欢

  • js 数值项目的格式化函数代码

    2023-07-14 16:51:31
  • 关于Python中的main方法教程

    2021-12-30 08:31:37
  • 天气预报调用代码

    2008-11-18 15:59:00
  • go mayfly开源项目代码结构设计

    2024-02-20 04:51:17
  • Python去掉字符串中空格的方法

    2021-12-09 14:23:07
  • mysql外键基本功能与用法详解

    2024-01-23 00:52:13
  • python 自动化办公之批量修改文件名实操

    2021-09-21 06:54:45
  • 使用cookie和application实现在线人数统计

    2007-09-18 13:01:00
  • [JS效果]动画效果打开/关闭/移动层

    2008-04-10 11:42:00
  • 细数JavaScript 一个等号,两个等号,三个等号的区别

    2023-08-25 08:22:09
  • 浅谈Vue使用Cascader级联选择器数据回显中的坑

    2024-04-10 13:47:27
  • keras topN显示,自编写代码案例

    2021-03-19 03:15:13
  • MySQL启用慢查询日志记录方法

    2024-01-25 11:42:16
  • 微信小程序下拉加载和上拉刷新两种实现方法详解

    2024-04-23 09:30:52
  • 超详细OpenMV与STM32单片机通信 附完整源码

    2023-05-27 17:03:50
  • python 实现将txt文件多行合并为一行并将中间的空格去掉方法

    2021-12-16 12:17:09
  • MySQL常用维护管理工具

    2009-03-08 16:51:00
  • 防止删库跑路及高级代码投毒技巧

    2022-03-27 13:20:16
  • javascript实现瀑布流自适应遇到的问题及解决方案

    2024-04-16 10:35:23
  • javascript游戏开发之《三国志曹操传》零部件开发(一)让静态人物动起来

    2024-04-10 13:58:29
  • asp之家 网络编程 m.aspxhome.com