首先我们先看一下用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一下吗相关推荐

  1. python怎么知道用哪个库使用-Python绘图库讲解:4大常用库你准备学哪个?

    黄伟呢 | 作者 数据分析与统计学之美 | 来源 为什么要写这篇文章? 最近有不少粉丝来问我,Python绘图库太多,我知不知道学哪一个?即使我选择了某一个绘图库后,我也不知道怎么学,我不知道第一步做 ...

  2. python怎么安装matplotlib-如何安装Python绘图库Matplotlib?

    如何安装Python绘图库Matplotlib? 2018-09-18 Matplotlib的安装方法多种多样,到底哪种方法是最好的,这取决于我们使用的是什么操作系统.已经安装了哪些软件以及想用Mat ...

  3. Python 绘图库 Matplotlib

    Matplotlib 库是 Python 中用来绘制图片的一个包,它和其他的一些库结合起来使用可以快速绘制出想要的图像,在数据处理分析以及其他的过程中提供很大的便利 目录 1. 安装配置 2. 快速入 ...

  4. 这是一款功能强大的开源 Python 绘图库

    今天给大家分享一篇可视化干货,介绍的是功能强大的开源 Python 绘图库 Plotly,教你如何用超简单的(甚至只要一行!)代码,绘制出更棒的图表. 我之前一直守着 matplotlib 用的原因, ...

  5. 大数据可视化python_5种Python绘图库,轻松实现大数据可视化!

    读图时代,图片不够精美绚丽,怎能够吸引住越来越挑剔的眼睛.而拥有"盛世美颜"的图片是怎样炼造而成的呢?大圣众包(www.dashengzb.cn)小编介绍5款交互式图表Python ...

  6. 年末大清仓,用Python绘制饼状图对商品库存进行分析

    前言 这不是都要回家过年了 很多店家都开始了年末大清仓,很多东西开始甩卖(咳咳.吐槽一下.很多都是挂个牌子说清仓甩卖.结果有些的卖的还更贵些) 不扯那么多,今天分享一下如何用python绘制饼状图多商 ...

  7. 数据可视化101如何选择python绘图库

    "Visualizing information can give us a very quick solution to problems. We can get clarity or t ...

  8. 功能强大、文档健全的开源 Python 绘图库 Plotly,手把手教你用!

    公众号 "菜鸟学Python", 设为 "星标" 和30w+一起学Python! 译者:欧剃 https://towardsdatascience.com/th ...

  9. python 绘图库matplotlib-_如何安装Python绘图库Matplotlib?

    如何安装Python绘图库Matplotlib? 2018-09-18 Matplotlib的安装方法多种多样,到底哪种方法是最好的,这取决于我们使用的是什么操作系统.已经安装了哪些软件以及想用Mat ...

最新文章

  1. 安卓模拟器BlueStacks 安装使用教程(图解)
  2. JAVA SE学习day_05: IO与流操作
  3. rs485数据线接反_再拆一个RS232-RS485通信接口转换器
  4. SAP 电商云 Spartacus UI CheckoutDeliveryService 的单元测试设计
  5. 2场直播丨OGG日常运维及故障处理、云原生数据仓库AnalyticDB
  6. 服务超时时间如何设置、如何对超时时间治理、超时设计原则一文揭秘!
  7. 嵌入式实时操作系统Ucos3
  8. [No0000F9]C# 运算符重载
  9. C#中对 API函数的调用
  10. 大数据分析面临哪些困境
  11. AutoDWG DWG 转换 PDF 控制组件-ActiveX
  12. 国际C语言混乱代码大赛(IOCCC)1988年获奖作品
  13. xp计算机用户名和密码忘记了怎么办,XP系统开机密码忘记了怎么办?
  14. 【立青】安装python及各种数据包
  15. 【题解】【AcWing】3505. 最长ZigZag子序列
  16. 【gdgzezoi】Problem A: Fairy
  17. 求100到1000内水仙花数及个数
  18. TWaver自动化设计平台Legolas —— 数据响应动作
  19. 【php】分享一个php转换微信、QQ、微博 特殊非主流 | 杀马特 网名的 function
  20. 笑傲江湖手3D有服务器端文件,笑傲江湖网游单机版

热门文章

  1. django 开发多语言网站
  2. Visual Graph图形平台的使用
  3. SpringBoot对接微信支付之JSAPI
  4. [译] Swift 中的动态特性
  5. 创意Game可用性微交互设计—视觉空间微交互设计
  6. onmousedown、onmouseup 以及 onclick事件
  7. ACM Uva1593 代码对齐
  8. nginx安装fastdfs-nginx-module和配置常见问题
  9. 常见软件建模方法和工具
  10. 南京金陵中学2021高考成绩查询,2020高考成绩出炉 南京各大高中喜报来了!