python绘五环,还不过来Look一下吗
首先我们先看一下用python画出来的效果图片!
1. 色彩构成
五环的颜色是有明确规定的。如蓝色是"#0081c8",并不是我们通常使用的“blue”。具体规范如下:
图片来源于百度百科
颜色对比:下图中的两种蓝色和黄色,前面的颜色就是官方指定的规范颜色,后面是我们经常使用的“blue”和“yellow”。颜色差别很大,所以我们在绘制奥运五环的时候,一定要先去官网查看五环的规范色彩以及其他相关知识。绘制奥运五环,态度一定要严谨。
2. 观察海龟画圆特点
上图中,海龟画了两种粗线对比明显的圆,并画了简易坐标系,对比观察后很容易发现海龟画圆的特点:
特点一: turtle.circle(100) 画出的圆在x轴上方,也就是圆心在海龟头部左侧;
特点二: 红圈的粗为2,黑圈的粗为30。可以看出画笔加粗后圈里圈外都会平均增厚。
代码如下
# 观察海龟画圆特点
import turtle
# 画一个半径为100,粗为30的黑色圆
turtle.pensize(30)
turtle.circle(100)
# 画一个半径为100,粗为2的红色圆
turtle.pencolor("red")
turtle.pensize(2)
turtle.circle(100)
# 画简易坐标系
turtle.pencolor("blue")
turtle.forward(200)
turtle.backward(400)
turtle.forward(200)
turtle.setheading(90)
turtle.forward(200)
turtle.backward(400)
turtle.forward(200)
# 画边长为圆半径的小正方形
turtle.home()
turtle.forward(100)
turtle.pencolor("green")
turtle.setheading(90)
turtle.forward(100)
turtle.left(90)
turtle.forward(100)
3. circle( )函数的扩展用法
语法格式:circle(半径,角度)
半径为正值,则圆心在海龟头部的左边;半径为负值,圆心在海龟头部的右边。
角度为正值,则按海龟的前进方向画图;角度为负值,按海龟倒退的方向画图。
半径正负与角度正负,四种组合举例:
半径为正,角度为正
半径为负,角度为正
半径为正,角度为负
半径为负,角度为负
4. 确定五环绘制的起点坐标
注意:是海龟画圆时的起点坐标,而不是圆心坐标。
举例:画黑环时,直接从默认坐标位置(0,0)开始画,但是画蓝环时,海龟要先抬笔移动到坐标(-s1,0)处,再落笔开始画圆。
5. 如何实现五环套接?
如上图中的蓝环压黄环,可以从蓝环顶部坐标(-s1,2*r)位置开始画半径为负值的圆弧,遮挡住黄环。半径为负值,圆心在海龟头部的右边。
turtle.circle(-r,100)
如红环压绿环,可以从红环底部坐标(s1,0)位置开始画角度为负值的圆弧,遮挡住绿环。角度为负值,海龟按倒退的方向画图。
turtle.circle(r,-20)
代码分享
# 画奥运五环标志(标准颜色+五环套接)import turtle
turtle.speed(0)
### 设置半径与画笔粗细
# r=float(input("请输入五环的半径:")) # input()函数接收到的是字符串,float()可以将其转换为浮点型数字
r=80 # 暂时设置一个固定值,方便调试程序
pensize=r/6 # 改动半径,环的粗细以及环与环的间距会等比例缩放
turtle.pensize(pensize) # 设置画笔的粗细为pensize### 【1】画五个环
s1=2*r+2*pensize # 左右两环的圆心到中间环圆心的距离是s
s2=r+pensize # 左右两环的圆心到y轴的距离是s# ① 画中间的黑环,起点坐标为(0,0),即海龟的默认坐标
turtle.pencolor("#000000") # #000000是黑色,也就是blake
turtle.circle(r) # 海龟画半径为r的圆# ② 画左上的蓝环,起点坐标为(-s1,0)
turtle.pencolor("#0081C8") # #0081C8是一种蓝色,切记不是blue
turtle.penup() # 海龟抬笔,没有移动(绘画)痕迹
turtle.goto(-s1,0) # 让海龟移至坐标(-s1,0)
turtle.pendown() # 海龟落笔,移动(绘画)有痕迹
turtle.circle(r) # ③ 画右上的红环,起点坐标为(s1,0)
turtle.pencolor("#EE334E") # #EE334E是一种红色,切记不是red
turtle.penup()
turtle.goto(s1,0) # 让海龟移至坐标(s1,0)
turtle.pendown()
turtle.circle(r) # ④ 画左下的黄环,起点坐标为(-s2,-r)
turtle.pencolor("#FCB131") # #FCB131是一种黄色,切记不是yellow
turtle.penup()
turtle.goto(-s2,-r) # 让海龟移至坐标(-s2,-r)
turtle.pendown()
turtle.circle(r) # ⑤ 画右下的绿环,起点坐标为(s2,-r)
turtle.pencolor("#00A651") # #00A651是一种绿色,切记不是green
turtle.penup()
turtle.goto(s2,-r) # 让海龟移至坐标(s2,-r)
turtle.pendown()
turtle.circle(r) ### 【2】 实现五环套连# ① 黑环压黄环,移至黑环起点坐标(0,0)
turtle.pencolor("#000000") # #000000是黑色
turtle.penup()
turtle.goto(0,0) # 海龟移至黑环起点坐标(0,0)
turtle.pendown()
turtle.circle(r,-20) # 海龟画半径为r,度数为-20的圆弧# ② 红环压绿环,移至红环起点坐标(s1,0)
turtle.pencolor("#EE334E") # #EE334E是一种红色
turtle.penup()
turtle.goto(s1,0) # 海龟移至红环起点坐标(s1,0)
turtle.setheading(0) # 因为海龟刚刚画过圆弧,方向发生了改变,所以要重新设置方向
turtle.pendown()
turtle.circle(r,-20) # 海龟画半径为r,度数为-20的圆弧# ③ 黑环压绿环,移至黑环的上端坐标(0,2*r)
turtle.pencolor("#000000") # #000000是黑色
turtle.penup()
turtle.goto(0,2*r) # 海龟移至黑环上端坐标(0,2*r)
turtle.setheading(0) # 因为海龟刚刚画过圆弧,方向发生了改变,所以要重新设置方向
turtle.pendown()
turtle.circle(-r,100) # 海龟画半径为-r,度数为100的圆弧# ④ 蓝环压黄环,移到蓝环的上端坐标(-s1,2*r)
turtle.pencolor("#0081C8") # #0081C8是一种蓝色
turtle.penup()
turtle.goto(-s1,2*r) # 海龟移至蓝环上端坐标(-s1,2*r)
turtle.setheading(0) # 因为海龟刚刚画过圆弧,方向发生了改变,所以要重新设置方向
turtle.pendown()
turtle.circle(-r,100) # 海龟画半径为-r,度数为100的圆弧### 绘图结束,隐藏海龟
turtle.hideturtle()
结尾:
ok,大功告成啦,奥运五环画完了,需要完整源代码请点击这里哦~ ,如果觉得喜欢,希望你能花0.1秒点个赞呦~ 你小小的点赞永远是我持续创作的动力,谢谢你~
python绘五环,还不过来Look一下吗相关推荐
- python怎么知道用哪个库使用-Python绘图库讲解:4大常用库你准备学哪个?
黄伟呢 | 作者 数据分析与统计学之美 | 来源 为什么要写这篇文章? 最近有不少粉丝来问我,Python绘图库太多,我知不知道学哪一个?即使我选择了某一个绘图库后,我也不知道怎么学,我不知道第一步做 ...
- python怎么安装matplotlib-如何安装Python绘图库Matplotlib?
如何安装Python绘图库Matplotlib? 2018-09-18 Matplotlib的安装方法多种多样,到底哪种方法是最好的,这取决于我们使用的是什么操作系统.已经安装了哪些软件以及想用Mat ...
- Python 绘图库 Matplotlib
Matplotlib 库是 Python 中用来绘制图片的一个包,它和其他的一些库结合起来使用可以快速绘制出想要的图像,在数据处理分析以及其他的过程中提供很大的便利 目录 1. 安装配置 2. 快速入 ...
- 这是一款功能强大的开源 Python 绘图库
今天给大家分享一篇可视化干货,介绍的是功能强大的开源 Python 绘图库 Plotly,教你如何用超简单的(甚至只要一行!)代码,绘制出更棒的图表. 我之前一直守着 matplotlib 用的原因, ...
- 大数据可视化python_5种Python绘图库,轻松实现大数据可视化!
读图时代,图片不够精美绚丽,怎能够吸引住越来越挑剔的眼睛.而拥有"盛世美颜"的图片是怎样炼造而成的呢?大圣众包(www.dashengzb.cn)小编介绍5款交互式图表Python ...
- 年末大清仓,用Python绘制饼状图对商品库存进行分析
前言 这不是都要回家过年了 很多店家都开始了年末大清仓,很多东西开始甩卖(咳咳.吐槽一下.很多都是挂个牌子说清仓甩卖.结果有些的卖的还更贵些) 不扯那么多,今天分享一下如何用python绘制饼状图多商 ...
- 数据可视化101如何选择python绘图库
"Visualizing information can give us a very quick solution to problems. We can get clarity or t ...
- 功能强大、文档健全的开源 Python 绘图库 Plotly,手把手教你用!
公众号 "菜鸟学Python", 设为 "星标" 和30w+一起学Python! 译者:欧剃 https://towardsdatascience.com/th ...
- python 绘图库matplotlib-_如何安装Python绘图库Matplotlib?
如何安装Python绘图库Matplotlib? 2018-09-18 Matplotlib的安装方法多种多样,到底哪种方法是最好的,这取决于我们使用的是什么操作系统.已经安装了哪些软件以及想用Mat ...
最新文章
- 安卓模拟器BlueStacks 安装使用教程(图解)
- JAVA SE学习day_05: IO与流操作
- rs485数据线接反_再拆一个RS232-RS485通信接口转换器
- SAP 电商云 Spartacus UI CheckoutDeliveryService 的单元测试设计
- 2场直播丨OGG日常运维及故障处理、云原生数据仓库AnalyticDB
- 服务超时时间如何设置、如何对超时时间治理、超时设计原则一文揭秘!
- 嵌入式实时操作系统Ucos3
- [No0000F9]C# 运算符重载
- C#中对 API函数的调用
- 大数据分析面临哪些困境
- AutoDWG DWG 转换 PDF 控制组件-ActiveX
- 国际C语言混乱代码大赛(IOCCC)1988年获奖作品
- xp计算机用户名和密码忘记了怎么办,XP系统开机密码忘记了怎么办?
- 【立青】安装python及各种数据包
- 【题解】【AcWing】3505. 最长ZigZag子序列
- 【gdgzezoi】Problem A: Fairy
- 求100到1000内水仙花数及个数
- TWaver自动化设计平台Legolas —— 数据响应动作
- 【php】分享一个php转换微信、QQ、微博 特殊非主流 | 杀马特 网名的 function
- 笑傲江湖手3D有服务器端文件,笑傲江湖网游单机版