turtle海龟画图

10. 画笔设置

1. 画笔设置

海龟库绘制时的线条是可以设置的,例如画笔的颜色,方法名如下:

方法名方法说明
.pencolor(‘red’)设置画笔颜色,例如红色
import turtle #导入海龟图库
turtle.shape('turtle') #召唤海龟
turtle.pencolor("red")  #画笔颜色
turtle.circle(100) #半径100的圆
turtle.done() #结束画画

在这里插入图片描述

除此之外,我们还可以设置画笔的粗细,方法如下:

方法名方法说明
.pensize(s)设置画笔粗细,最小值1
import turtle #导入海龟图库
turtle.shape('turtle') #召唤海龟
turtle.pencolor("red")  #画笔颜色
turtle.pensize(20)  #画笔粗细
turtle.circle(100) #半径100的圆
turtle.done() #结束画画

在这里插入图片描述

2. 填充设置

如何在绘制好的封闭区域进行填充颜色呢?方法如下:

方法名方法说明
.fillcolor(‘red’)设置填充的颜色 ,例如红色
.begin_fill()在需要填充的封闭区域前设置
.end_fill()在需要填充的封闭区域后设置
import turtle
turtle.shape('turtle')
turtle.begin_fill()  #开始填充
turtle.circle(100) #画圆
turtle.fillcolor("orange") #填充颜色:橙色
turtle.end_fill()  #结束填充
turtle.done()

在这里插入图片描述

3. 画布设置

画布:绘图的区域,我们可以设置它的大小和初始位置。

方法名方法说明
.screensize(width,height,bg)设置画布的大小【默认大小为(400,300)】
上面参数参数说明
width
height
bg背景颜色
import turtle
turtle.screensize(200,200,'green')  #设置画布大小

结果:在这里插入图片描述

11. 抬笔和落笔

1. 坐标的概念

默认情况下,海龟绘图在屏幕原点(0,0)位置开始。我们可以设置对应坐标让其在指定位置绘制.

方法名说明
.goto(x, y)到达指定坐标(x,y)
import turtle as t #导入turtle海龟库,并给turtle起别名,叫t
t.circle(100) #半径100的圆
t.goto(0, 50)  #将画笔在y轴上移50的位置
t.circle(50)  # 半径50的圆
t.done() #结束画画
在这里插入图片描述
  • 虽然,我们绘制出了同心圆,但暴露了一个问题:当绘制第二个圆时,笔头划过路过的区域,并没有抬笔,此时,我们需要通过抬笔和落笔来解决

2. 抬笔与落笔

每次当笔头要位移绘制时,我们需要将笔头抬起,然后再绘制处再落笔即可。

方法名说明
.penup()设置画笔抬起,此时无法绘制内容
.pendown()设置画笔落下,此时可以绘制内容
import turtle as t #导入turtle海龟库,并给turtle起别名,叫t
t.circle(100) #半径100的圆
t.penup() #抬笔
t.goto(0, 50)  #将画笔在y轴上移50的位置
t.pendown() #落笔
t.circle(50)  # 半径50的圆
t.done() #结束画画
在这里插入图片描述

画图案例练习:

  • 案例演练1:

如图:在这里插入图片描述

分析:圆的半径:200/2 = 100,参考代码如下:

import turtle as t
t.circle(100)
t.penup() #抬笔
t.goto(200, 0) #移动到指定坐标位置
t.pendown() #落笔
t.circle(100)
t.done()

案例演练2:美国盾牌

如图:

在这里插入图片描述

分析:由外到里,逐个画出(6步),如下:

1.画最外层的红圈

具体做法:画一个半径200的圆,起点坐标(0, -200),画笔颜色:红色;填充色为:红色

2.白色圆圈

具体做法:画一个半径150的圆,起点坐标 (0, -150),画笔颜色:白色;填充色为:白色

3.里面的红圈

具体做法:画一个半径100的圆,起点坐标(0, -100),画笔颜色:红色;填充色为:红色

4.蓝色圈

具体做法:画一个半径50的圆,起点坐标(0, -50),画笔颜色:蓝色;填充色为:蓝色

5.五角星

具体做法:画一个步骤为80的五角星,起点坐标 (-40, 10),画笔颜色:白色;填充色为:白色

6.收尾工作

具体做法:
(1)隐藏箭头 hideturtle
(2)结束画画 done

import turtle as t# 一、最外层的红圈
t.penup()
t.goto(0, -200) #移动到指定坐标
t.pendown()
t.pencolor('red') # 画笔颜色:红色
t.fillcolor('red')  # 填充为红色
t.begin_fill()  # 开始填充
t.circle(200)
t.end_fill()  # 结束填充# 二、白色圈
t.penup()
t.goto(0, -150)
t.pendown()
t.pencolor('white') 
t.fillcolor('white') 
t.begin_fill()  
t.circle(150)
t.end_fill()  # 三、里面的红圈
t.penup()
t.goto(0, -100)
t.pendown()
t.pencolor('red')  
t.fillcolor('red')
t.begin_fill()
t.circle(100)
t.end_fill()# 四、蓝色圈
t.penup()
t.goto(0, -50)
t.pendown()
t.pencolor('blue')
t.fillcolor('blue')
t.begin_fill()
t.circle(50)
t.end_fill()# 五、五角星
t.penup()
t.goto(-40, 10)
t.pendown()
t.pencolor('white')
t.fillcolor('white')
t.begin_fill()  
t.forward(80) # 第一条边
t.right(144)
t.forward(80)  # 第二条边
t.right(144)
t.forward(80)  # 第三条边
t.right(144)
t.forward(80)  # 第四条边
t.right(144)
t.forward(80)  # 第五条边
t.end_fill()# 六、收尾工作
t.hideturtle() # 隐藏箭头
t.done() #结束画画

12. 画点

方法名说明
.dot(r,c)绘制一个指定直径和颜色的圆点
上面参数参数说明
r直径
c(可省略)颜色

举例:

import turtle as t
t.dot(400, 'green') # 直径400,绿色圆点
t.hideturtle()  # 隐藏箭头
t.done() 

结果:在这里插入图片描述


1. 美国盾牌(用dot实现)

分析:由外到里,逐个画出(3步),如下:

1.画出所有圆圈

具体做法:
(1)先画最外圈的圆:直径400,红色圆点
(1)第二个圆:直径300,白色圆点
(1)第三个圆:直径200,红色圆点
(1)最小的圆:直径100,蓝色圆点

2.五角星

具体做法:画一个步骤为80的五角星,起点坐标 (-40, 10),画笔颜色:白色;填充色为:白色

3.收尾工作

具体做法:
(1)隐藏箭头 hideturtle
(2)结束画画 done

import turtle as t# 一、四个圆圈
t.dot(400, 'red')  # 直径400,红色圆点
t.dot(300, 'white')  # 直径300,白色圆点
t.dot(200, 'red')  # 直径200,红色圆点
t.dot(100, 'blue')  # 直径100,蓝色圆点# 二、五角星
t.penup()
t.goto(-40, 10)
t.pendown()
t.pencolor('white')
t.fillcolor('white')
t.begin_fill()
t.forward(80)  # 第一条边
t.right(144)
t.forward(80)  # 第二条边
t.right(144)
t.forward(80)  # 第三条边
t.right(144)
t.forward(80)  # 第四条边
t.right(144)
t.forward(80)  # 第五条边
t.end_fill()# 三、收尾工作
t.hideturtle()  # 隐藏箭头
t.done()  # 结束画画

结果:在这里插入图片描述

2. 画人脸在这里插入图片描述

import turtle as t#圆脸
t.penup()
t.goto(0,-200)
t.pendown()
t.circle(200)#左眼
t.penup()
t.goto(-100,50)
t.pendown()
t.dot(40,'blue')#右眼
t.penup()
t.goto(100,50)
t.pendown()
t.dot(40,'blue')#鼻子
t.penup()
t.goto(0,50)
t.pendown()
t.circle(-50,steps=3)#画嘴
t.penup()
t.goto(-150,-70)
t.pendown()
t.goto(0,-170)
t.goto(150,-70)# 结束画画
t.done()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/726472.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【vue3之组合式API及其新特性】

组合式API及其新特性 一、setup1.写法2.如何访问3.语法糖4.同步返回对象 二、reactive()和ref()1.reactive()2.ref() 三、computed四、watch函数1.侦听单个数据2.侦听多个数据3. immediate4. deep5.精确侦听对象的某个属性 五、生命周期函数六、组件通信1.父传子2. 子传父 七、…

Java开发从入门到精通(一):Java的基础语法进阶

Java大数据开发和安全开发 (一)Java注释符1.1 单行注释 //1.2 多行注释 /* */1.3 文档注释 /** */1.4 各种注释区别1.5 注释的特点1.5 注释的快捷键 (二)Java的字面量(三)Java的变量3.1 认识变量3.2 为什么…

(亲测可用)Adobe Photoshop 2024下载与安装

背景介绍:Adobe Photoshop 2024 是全球最受欢迎的图像编辑软件之一,2024年的版本带来了一系列令人印象深刻的功能: AI增强的自动选择和蒙版工具:现在,用户可以更轻松地选择和处理复杂的图像元素。更多的3D渲染功能&…

如何使用宝塔面板搭建Discuz并结合cpolar实现远程访问本地论坛

文章目录 前言1.安装基础环境2.一键部署Discuz3.安装cpolar工具4.配置域名访问Discuz5.固定域名公网地址6.配置Discuz论坛 前言 Crossday Discuz! Board(以下简称 Discuz!)是一套通用的社区论坛软件系统,用户可以在不需要任何编程的基础上&a…

第3部分 原理篇3可验证凭证(VC)(2)

3.3.3. 可验证凭证生态 3.3.3.1. 生态中的角色和概念 本聪老师:问大家个问题,我们生活中常见的实物凭证包括哪些信息? 小天:以身份证为例,包括姓名、性别、出生年月、住址等个人信息,还有发证部门&#…

【嵌入式——QT】Model/View

【嵌入式——QT】Model/View 基本原理数据模型视图组件代理Model/View结构的一些概念QFileSystemModelQStringListModelQStandardItemModel自定义代理 基本原理 GUI应用程序的一个很重要的功能是由用户在界面上编辑和修改数据,典型的如数据库应用程序,数…

重学SpringBoot3-@EnableConfigurationProperties注解

重学SpringBoot3-EnableConfigurationProperties注解 1. 引言2. EnableConfigurationProperties 的作用3. 使用示例4. 总结 1. 引言 Spring Boot 提供了一种便捷的方式来管理和校验应用程序的配置,即通过类型安全的配置属性。EnableConfigurationProperties 注解在…

pycharm 自定义TODO类注释以及其高亮颜色

大体介绍 使用自定义TODO是为了方便看,并且快速定位到位置 上面是为了进行标记,下面是让哪些标记可以过滤掉(自定义过滤规则),从而在pycharm下面的TODO可以显示并过滤 如何设置? Setting-Preferences-Ed…

练习 5 Web [GXYCTF2019]BabyUpload

[GXYCTF2019]BabyUpload 猜测直接上传txt会被过滤,提示“上传类型也太露骨了吧!”按经验传入一个"muma.phtml" 提示过滤了“ph”相关的后缀 传入muma.jpg等图像格式,提示表明复原并检测了文件内容 审查文件后缀Context-type 不能…

【北京迅为】《iTOP-3588开发板网络环境配置手册》第3章 开发板直连电脑配置方法(不能上外网)

RK3588是一款低功耗、高性能的处理器,适用于基于arm的PC和Edge计算设备、个人移动互联网设备等数字多媒体应用,RK3588支持8K视频编解码,内置GPU可以完全兼容OpenGLES 1.1、2.0和3.2。RK3588引入了新一代完全基于硬件的最大4800万像素ISP&…

2024 年 AI 辅助研发趋势:从研发数字化到 AI + 开发工具 2.0,不止于 Copilot

在上一年里,已经有不少的企业在工具链上落地了生成式 AI,结合我们对于这些企业的分析,以及最近在国内的一些 “新技术” 趋势,诸如于鸿蒙原生应用的初步兴起。从这些案例与趋势中,我们也看到了一些新的可能方向。 结合…

【 HTML 及浏览器 】DOM 树

“人生如同弓弦,经历拉扯才能发出激越的音响。在坎坷的拉扯中,用坚定的力量拉近梦想的弓弦,让每一次的发声都是生命的高潮。” - 约瑟夫康拉德 DOM树:构建动态网页的骨架 在互联网的世界里,网页就像是一个个生动的故事…

关于报考NISP二级的紧急通知

为规范NISP二级报考条件和CISP证书换证标准,根据中国信息安全测评中心最新通知,即日起NISP二级仅限全日制在校大学生报考,报名时必须同步提供学信网在籍证明图。 NISP二级被誉为“校园版CISP”,是网络行业的通行证,计算…

哪里下载Mac上最全面的系统清理工具,CleanMyMac X4.15中文版永久版资源啊

哪里下载Mac上最全面的系统清理工具,CleanMyMac X4.15中文版永久版资源啊,CleanMyMac X4.15中文版是一款全面的Mac系统优化工具。它能够扫描、检测并清理不需要的文件和应用程序,优化内存使用和磁盘空间,提高Mac的性能表现。此外&…

xinput1_3.dll丢失都有什么办法可以有效的解决、xinput1_3.dll导致游戏不能启动怎么办?

使用电脑的过程中是不是会遇到关于某个dll文件丢失的提示,今天想和大家聊的是xinput1_3.dll文件,如果电脑提示xinput1_3.dll丢失有什么办法可以有效的解决,解决办法都有哪些,如果xinput1_3.dll丢失会对电脑有什么影响。&#xff0…

力扣hot100:239.滑动窗口最大值(优先队列/单调队列)

本题是一个经典的单调队列题。不过用优先队列也能解决。 一、优先队列 在使用优先队列时,我们会遇到这样的问题:如何将一个目标数从优先队列中弹出?如果使用stl这是办不到的,虽然可以自行实现这样的功能。但是我们可以这样思考&am…

VSCode安装教程(版本:1.87.0)Windows10

安装完Python后,我们即可在自己的电脑上开始学习Python编程。在此之前,我们需要一个代码编辑器,此处我推荐的是Visual Studio Code(简称VS Code)。可能你会好奇,Python安装时不是自带了一个代码编辑器吗&am…

男人的玩具系统wordpress外贸网站主题模板

垂钓用品wordpress外贸模板 鱼饵、鱼竿、支架、钓箱、渔线轮、鱼竿等垂钓用品wordpress外贸模板。 https://www.jianzhanpress.com/?p3973 身体清洁wordpress外贸网站模板 浴盐、防蚊液、足部护理、沐浴液、洗手液、泡澡用品wordpress外贸网站模板。 https://www.jianzhan…

基于微信小程序的电影院订票选座系统的设计与实现(程序+数据库+)

** 🍅点赞收藏关注 → 私信领取本源代码、数据库🍅 本人在Java毕业设计领域有多年的经验,陆续会更新更多优质的Java实战项目,希望你能有所收获,少走一些弯路。🍅关注我不迷路🍅** 一、研究背景…

[Redis]——缓存击穿和缓存穿透及解决方案(图解+代码+解释)

目录 一、缓存击穿(热点Key问题) 1.1 问题描述 1.2 解决方案及逻辑图 1.2.1 互斥锁 1.2.2 逻辑过期 二、缓存穿透 2.1 问题描述 2.2 解决方案逻辑图 2.2.1 缓存空对象 2.2.2 布隆过滤器 一、缓存击穿(热点Key问题) 个人理…