首页 > 编程语言 >Python也能绘制奥运五环

Python也能绘制奥运五环

时间:2022-11-10 10:04:21浏览次数:40  
标签:turtle 绘画 画笔 Python 五环 移动 绘制 奥运

Python也能绘制奥运五环_函数库

啊~~~五环,你比四环多一环

啊~~~五环,你比六环少一环

每当想起小岳岳的歌声,总是充满欢快的气氛,本节给大家介绍如何使用Python绘制奥运五环,这里借助Python中的turtle库,turtle英译为海龟,是Python语言中一个很流行的绘制图像的函数库,turtle库可以根据一组函数指令的控制,在一个平面坐标系中移动,在移动的路径上就形成了图形。

试想我们日常绘画时,纸和笔缺一不可,除此之外加丰富的绘画技巧,方能绘制一张精美的图画,类比到turtle库中,需要学习画布(纸)、画笔(笔)、绘图命令(绘画技巧)相关的知识,每一部分都有对应的函数命令,下面总结turtle的函数命令如下。

一、画布(纸)

turtle.setup(width=900,height=600)设置画布大小,调节宽和高。

二、画笔(笔)

turtle.pensize() 设置画笔的宽度;

turtle.pencolor()传入参数设置画笔颜色,可以是字符串如red等,也可以是RGB三元组;

turtle.speed(speed) 设置画笔移动速度,0速度最快,从1到10画笔移动速度逐渐加快。

三、绘图命令(绘画技巧)


1、画笔运动命令

turtle.penup()提起笔移动,不绘制图形,用于另起一个地方绘制;

turtle.goto(x,y)将画笔移动到坐标为x值和y值的位置;

turtle.forward(distance)向当前画笔方向移动,distance像素长度;

turtle.backward(distance)向当前画笔相反方向移动,distance像素长度;

turtle.right(degree)顺时针移动多少度;

turtle.left(degree)逆时针移动多少度;

turtle.pendown()移动时绘制图形;

turtle.circle()画圆,半径为正(负),表示圆心在画笔的左边(右边)画圆;

turtle.setheading(angle)设置当前朝向为angle角度。

2、画笔控制命令

turtle.begin_fill()准备开始填充图形;

turtle.fillcolor(colorstring)对图形填充颜色;

turtle.end_fill()填充完成;

turtle.hideturtle()隐藏画笔的turtle形状。

3、画笔控制命令全局控制命令

turtle.clear()清空turtle窗口,但是turtle的位置和状态不会改变;

turtle.reset()清空窗口,重置turtle状态为起始状态;

turtle.write()添加文本内容;

turtle.bgpic(picname=r'xxx.png')#导入图片背景;

turtle.done()启动事件循环,是绘图程序中的最后一个语句。

四、实际演示

下面演示如何绘制奥运五环,首先是导入turtle库,设置画布的大小,类似于我们是用A4纸还是B4纸绘画。

import turtle        #调用turtle库绘制图像的函数库
turtle.setup(900,600)#启动窗体的位置和大小,设置图像大小

然后设置画笔的宽度和移动速度,类似于我们是选择用铅笔绘画还是选择用钢笔绘画。

turtle.pensize(20)  #画笔宽度
turtle.speed(5) #设置画笔移动速度, 数字越大越快

最后是使用绘画技巧绘制图形,这里使用turtle库中的命令绘制一个半径为100的蓝色的圆环。

turtle.penup()       #抬起笔
turtle.goto(0,0) #移动到
turtle.pendown() #放笔
turtle.color("blue") #颜色 蓝色
turtle.circle(100) #画半径100的圆

绘制蓝色圆环后,依次绘制红色、黄色、绿色、黑色圆环,绘制好的奥运五环如下。

Python也能绘制奥运五环_python_02

并且作者还精心准备了turtle动态绘制五环的视频,点击如下视频


由于本节的代码过长,这里仅展示绘制蓝色圆环的代码,作者已将代码进行封装,点击下方公众号,后台回复0209,获取完整代码。


标签:turtle,绘画,画笔,Python,五环,移动,绘制,奥运
From: https://blog.51cto.com/u_15828536/5839661

相关文章

  • 基于TensorFlow和Python的机器学习(笔记3)
    基于TensorFlow和Python的机器学习(笔记3)          embedding的原理是使用矩阵乘法来进行降维,从而达到节约存储空间的目的。word2vector工作流程图......
  • Python下使用argparse模块的脚本参数配置
    python的一个用于命令行参数解析的模块,其专业解释已经有很多了,可以去详查,不做赘述,仅谈谈自己的一些理解。为什么要用argparse模块来为代码导入参数或者文件路径呢?如果是一......
  • Python 批量导出mysql数据库表结构(转)
    https://blog.csdn.net/weixin_44309131/article/details/124119037?utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2~aggregatepage~first_rank_ecpm_v......
  • 新的学习历程-python2 print
    1print('helloworld!')2print('hello','world!')#逗号自动添加默认的分隔符:空格3print('hello'+'world!')#加号表示字符拼接4print('hello','world',sep='***')......
  • 【Python爬虫案例】用python爬哔哩哔哩搜索结果
    一、爬取目标大家好,我是@马哥python说,一名10年程序猿。今天分享一期爬虫的案例,用python爬哔哩哔哩的搜索结果,也就是这个页面:爬取字段,包含:页码,视频标题,视频作者,......
  • Python: convert int to mode string
     def_convert_mode(mode:int):ifnot0<=mode<=0o777:raiseRuntimeErrorres=''forvinrange(0,9):ifmode>>v&1:......
  • 基于Python的批量处理execl文件内容
    今天遇到一个棘手的问题,在三个文件夹中将近60个execl表选出所需的特定三列数据,且表名,sheet名,表中的数据类型均不一致,故想到利用Python批量化处理技术手段进行处理。其原理......
  • python发送邮件
    python发送邮件封装#encoding=utf-8importsmtplibfromemail.mime.multipartimportMIMEMultipartfromemail.mime.textimportMIMETextclassEmailMange:......
  • Python10-实战
    实战01(根据当前时间创建文件)importtimedefcreate():globalnamelocalTime=time.strftime("%Y%m%d%H%M%S",time.localtime())name=localTime+'.txt'......
  • Python10-eg
    实例01(创建并打开记录蚂蚁庄园的文件)1print("\n","="*10,"蚂蚁庄园动态","="*10)2file=open('message.tex','w')3print("\n即将显示...........\n")实例02(向......