python turtle绘图命令及案例
作者:L-L 发布时间:2022-04-29 10:26:58
标签:python,turtle,绘图,命令,案例
一、绘图命令
操纵海龟绘图有很多命令,可以划分为三种:画笔运动命令、画笔控制命令、全局控制命令
1、画笔运动命令
命令 | 说明 |
---|---|
turtle.forward(distance) | 向当前画笔方向移动distance像素长度 |
turtle.backward(distance) | 向当前画笔相反方向移动distance像素长度 |
turtle.right(degree) | 顺时针移动degree° |
turtle.left(degree) | 逆时针移动degree° |
turtle.pendown() | 移动时绘制图形,缺少参数时也为绘制 |
turtle.goto(x,y) | 将画笔移动到坐标为(x,y)的位置 |
turtle.penuo() | 提起画笔,不绘制图形,用于另起一个地方绘制 |
turtle.circle() | 画圆,半径为正(负),表示圆心在画笔的左边(右边)画圆 |
setx() | 将当前x轴移动到指定位置 |
sety() | 将当前y轴移动到指定位置 |
setheading(angle) | 设置当前朝向为angle的角度 |
home() | 设置当前画笔位置为原点,朝向向东 ° |
2、画笔控制命令
命令 | 说明 |
---|---|
turtle.fillcolor(colorstring) | 绘制图形填充颜色 |
turtle.color(color1, color2) | 同时设置 pencolor = color1,fillcolor = color2 |
turtle.filling() | 返回当前是否在填充状态 |
turtle.begin_fill() | 准备开始填充图形 |
turtle.end_fill() | 填充完成 |
turtle.hideturtle() | 隐藏画笔的turtle形状 |
turtle.showturtle() | 显示画笔的turtle形状 |
3、全局控制命令
命令 | 说明 |
---|---|
turtle.clear() | 清空turtle窗口,但是turtle的位置和状态不会发生变化 |
turtle.reset() | 清空窗口,重置turtle状态为起始状态 |
turtle.undo() | 撤销上一个turtle动作 |
turtle.isvisible() | 返回当前turtle是否可见 |
stamp() | 复制当前图形 |
turtle.write(s[,font = ("font_name",font_size,"font_type")]) | 写文本,s为文本内容,font是字体参数,分别是字体名称,字体大小和类型,font和font的参数都是可选选项 |
二、案例
1、案例一
熟悉turtle坐标体系
# 导入 turtle 模块
import turtle as t
t.goto(100,100)
t.goto(100,-100)
t.goto(-100,-100)
t.goto(-100,100)
t.goto(0,0)
t.done()
2、案例二
画笔自动绘图
# 用for循环初步实现画笔自动绘图
import turtle as t
for i in range(20):
# 画笔向前移动
t.forward(100 + 10 * i)
# 顺时针旋转120°
t.right(120)
t.done()
3、案例三
显示画笔运动印记
# 用for循环初步实现画笔自动绘图并显示其印记
import turtle as t
for i in range(20):
# 画笔向前移动
t.forward(100 + 10 * i)
#t.shape("turtle") # 海龟
#t.shape("circle") # 圆
t.shape("square") # 正方形
# 打印turtle印记
t.stamp()
# 顺时针旋转60°
t.right(60)
t.done()
4、案例四
画笔及填充控制
# 绘制金光闪闪的太阳
import turtle as t
# 为小数时表示占据电脑屏幕的比例
t.setup(width = 0.6, height = 0.6)
# t.pencolor("red")
t.color("red", "yellow")
t.begin_fill()
# 控制绘图时间
t.speed(20)
while True:
t.forward(200)
t.left(170)
# print(t.pos())
if abs(t.pos()) < 1:
break
t.end_fill()
t.write("一颗金光闪闪的太阳", align = "right", font = ("Arial", 20, "normal"))
t.done()
5、案例五
画圆形类的图
# 粉色的爱心
import turtle as t
t.setup(800,800)
t.speed(8)
# 设置画笔大小
t.pensize(10)
t.hideturtle()
t.pencolor("pink")
t.left(45)
t.forward(80)
t.circle(35,210)
t.right(150)
t.circle(35,210)
t.forward(80)
t.done()
来源:https://www.cnblogs.com/L-hua/p/15412536.html
0
投稿
猜你喜欢
- 最近被“模块化”缠身,又是文章又是PPT的,被逼着想了很多相关的东西。整理下我这段时间对于“模块化”的思考,大多都是我自己从事页面重构这份工
- Symfony2是一个基于PHP语言的Web开发框架,有着开发速度快、性能高等特点。本文以一个程序示例的实现过程详细叙述了Symfony2框
- 微信小程序全称微信公众平台·小程序,原名微信公众平台·应用号(简称微信应用号)声明•微信小程序开发工具类似于一个轻量级的IDE集成开发环境,
- function chinese2unicode(Str) &nbs
- 一、Python中的对象Python中一切皆是对象。————Guido van Rossum(1989)这句话只要你学过python,你就很
- 在进行ASP网站开发时,有时需在客户端调用MSSQL数据库的数据进行打印,若调用数据量小,可以通过在客户端运用FileSystemObjec
- PHP 是世界上最好的语言。经典的 LNMP(linux + nginx + php + mysql)环境有很多现成的部署脚本,但是在 Do
- 前言大家都知道PHP-FPM内置了状态页,开启后可查看PHP-FPM的详细运行状态,给PHP-FPM优化带来帮助。打开php-fpm.con
- 基本类型转换python3与python2通用函数:int('123456',10) # 转换为指定进制的整数hex(123
- php写入mysql出现中文乱码的解决办法是:在建立数据库连接之后,将该连接的编码方式改为中文。代码如下:$linkID=@mysql_co
- 正则表达式(Regular Expression)为字符串模式匹配提供了一种高效、方便的方法。几乎所有高级语言都提供了对正则表达式的支持,或
- 今天遇到一个需要用javascript将url中的某些参数替换的需求,想起了不久前从网上淘到了一个parseUrl函数,正好可以借此实现,代
- 有时候我们会在页面上显示用户的所在地区,这个原理是:先得到用户的IP,然后去查询将IP转换成一个数值,最后去查这个数值所在的范围,来得到用户
- system默认:managersys默认:change_on_install使用SQL Plus登录数据库时,system使用密码mana
- 导语还记得那些年,我们玩过的Windows小游戏吗?说起Windows自带的游戏,相信许多80、90后的朋友都不陌生。在很早的那个游戏贫瘠的
- XPath(XML Path language)是一种处理XML文档段的语言。XSLT(Extensible Stylesheet Lang
- 这份数据集来源于Kaggle,数据集有12500只猫和12500只狗。在这里简单介绍下整体思路处理数据设计神经网络进行训练测试1. 数据处理
- 新建图像文件后选Channels面板,新建Alpha1通道:输入文字; &nbs
- PDO::_constructPDO::_construct — 创建一个表示数据库连接的 PDO 实例(PHP 5 >= 5.1.0
- Linux终端里面可谓是奇妙无限,很多优秀的软件都诞生在终端里面。相较之下,Windows本身的理念和Linux就不一致,所以,你懂得。 下