Python Turtle绘图[难度2星]:奥运五环(用最简单的方法实现五环套接)

这篇具有很好参考价值的文章主要介绍了Python Turtle绘图[难度2星]:奥运五环(用最简单的方法实现五环套接)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

绘制五环的代码网上很多,但是大部分代码没能实现五环套接;少数实现了的,代码也较难。不适合初中生练习。

而且五环的颜色是有规定的,并不是大家常用的blue,black,red,yellow,green。

本文将用最简单的方法来实现五环套接,并用标准色来绘制出奥运五环。

 【效果预览】 

用最简单的方法实现了五环套接

 【重难点突破】 

1. 奥运五环的色彩构成

五环的颜色是有明确规定的。如蓝色是"#0081c8",并不是我们通常使用的“blue”。具体规范如下:

Python Turtle绘图[难度2星]:奥运五环(用最简单的方法实现五环套接)

图片来源于百度百科

颜色对比:下图中的两种蓝色和黄色,前面的颜色就是官方指定的规范颜色,后面是我们经常使用的“blue”和“yellow”。颜色差别很大,所以我们在绘制奥运五环的时候,一定要先去官网查看五环的规范色彩以及其他相关知识。绘制奥运五环,态度一定要严谨。

Python Turtle绘图[难度2星]:奥运五环(用最简单的方法实现五环套接)

2. 观察海龟画圆特点

Python Turtle绘图[难度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(半径,角度)

半径为正值,则圆心在海龟头部的左边;半径为负值,圆心在海龟头部的右边。

角度为正值,则按海龟的前进方向画图;角度为负值,按海龟倒退的方向画图。

半径正负与角度正负,四种组合举例:

Python Turtle绘图[难度2星]:奥运五环(用最简单的方法实现五环套接)

4. 确定五环绘制的起点坐标

注意:是海龟画圆时的起点坐标,而不是圆心坐标。

举例:画黑环时,直接从默认坐标位置(0,0)开始画,但是画蓝环时,海龟要先抬笔移动到坐标(-s1,0)处,再落笔开始画圆。

Python Turtle绘图[难度2星]:奥运五环(用最简单的方法实现五环套接)

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()

 奥运五环画完了,如果觉得喜欢,希望你能花0.1秒点个赞呦~  你小小的点赞永远是我持续创作的动力,谢谢你~ 文章来源地址https://www.toymoban.com/news/detail-407280.html

到了这里,关于Python Turtle绘图[难度2星]:奥运五环(用最简单的方法实现五环套接)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • CSS变形与动画(二):perspctive透视效果 与 preserve-3d 3d效果(奥运五环例子)

    perspective 指定了观察者与 z=0 平面的距离,使具有三维位置变换的元素产生透视效果。z0 的三维元素比正常大,而 z0 时则比正常小,大小程度由该属性的值决定。 作用于在 父级 上。 相互可以视觉上 插入 和 覆盖 transform-style: preserve-3d; 也是用在 父级 上 例子 奥运五环 通过每

    2024年02月12日
    浏览(32)
  • python中用turtle画一个圆形,python绘图turtle画圆

    大家好,本文将围绕用pythonturtle画简单的图案展开说明,python中用turtle画一个圆形是一个很多人都想弄明白的事情,想搞清楚python绘图turtle画圆需要先了解以下几个事情。 1 说明: ===== 1.1 是问答中的我的一个回答。 1.1 因为问答中没有代码块的,所以我改为这里写文章,然后

    2024年02月04日
    浏览(29)
  • python-turtle(海龟绘图)圣诞树

    1.在开始前需要引入turtle库,若没有下载这个库可以复制下面这条语句在PyCharm终端下载   2.turtle库,它这个画笔是在这个窗口横轴x轴,纵轴y轴从原点(0,0)处开始,以函数指令使其移动绘图。  最近今天持续发烧,没来得急上传,赶一波末班车嘻嘻

    2024年02月03日
    浏览(36)
  • 【Python】-- Turtle绘图(使用代码画喜欢的图形!)

    什么是Turtle? turtle库是Python语言中一个很流行的绘制图像的函数库,可以想象一个小乌龟在爬行,它的爬行轨迹就是绘制出来的图形,在一个横轴为x、纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行的路径上绘制

    2024年02月03日
    浏览(35)
  • Python中的绘图模块——turtle库!!(介绍+使用举例)

             turtle(海龟)是Python内置的一个标准模块,它提供了绘制线、圆以及其它形状的函数,使用该模块可以创建图形窗口,在图形窗口中通过简单重复动作直观地绘制界面与图形。         主要使用方面为:创建窗口、设置画布、绘制图形         图形窗口也称

    2024年02月06日
    浏览(29)
  • Python turtle绘图——七段数码管显示数字和字母

    七段数码管由7条线组成,以下图所标识的画图顺序为准进行程序设计。   首先导入turtle库并将其重命名为t。 定义函数drawGap()用于绘制间隙,通过将画笔抬起,并向前移动5个单位,来实现间隙的绘制。 定义函数drawLine(draw)用于绘制线段,通过判断参数 draw 的布尔值,决定是

    2024年02月06日
    浏览(42)
  • 用最简单的方法生成代码雨,效果相当的哇塞。

    生成黑客帝国中的代码雨,效果相当的哇塞,过程相当的简单,不需要电脑额外的安装工具。 `提示: 有时候需要装X,高一些看起来很酷炫的特效。见天就带来一个非常酷炫的代码雨。 来看看效果: 是不是还可以。然而制作的过程却十分简单。 截图如下: 打开txt文本,在

    2024年02月05日
    浏览(38)
  • Python+turtle交互式绘图:可以用鼠标拖动的小海龟

    功能描述:代码运行后,在窗口上显示3个小海龟,使用鼠标拖动小海龟时可以动态改变窗口颜色,如下图所示。 说明:本例代码主体部分来自turtle Demo,我稍微修改了一下,重点增加了注释,方便阅读和理解。 参考代码: ----------相关阅读---------- 教学课件 1900页Python系列P

    2023年04月08日
    浏览(38)
  • STM32系列——用最简单的方法学会按键长按

    目录 前言 1. 按键长按原理 2. Cubmx配置 3. keil5编写代码 本教程基于stm32f103c8t6最小系统板,hal库开发。 操作简单,讲解直接清楚,旨在让大家少走弯路。 (1)要用1个定时器,设置好定时器周期并打开定时器中断。 (2)每隔一段时间进入定时器中断回调函数判断按键是否按下

    2024年02月15日
    浏览(27)
  • ​草莓熊python turtle绘图代码(玫瑰花版)附源代码

    本文目录: 一、前言 二、草莓熊手持玫瑰花成品效果图 三、代码演示方法和代码命令解释 四、草莓熊手持的玫瑰花源代码 五、相关资源图片 六、我的“草莓熊python turtle绘图(玫瑰花版)”绘图源代码 七、草莓熊python turtle绘图(风车版)附源代码 八、怎么才能正常运行

    2024年02月02日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包