关于绘制图形库turtle

# 画布上,默认有一个坐标原点为画布中心的坐标轴(0,0),默认"standard"模式坐标原点上有一只面朝x轴正方向小乌龟

一:海龟箭头Turtle相关方法

#############################

# 1.绘制的运动 #

#############################

a).移动和绘制

# turtle.forward(distance) | turtle.fd(distance)

# 画笔向绘制方向的当前方向移动distance(integer or float)的pixels距离,

# 例如:

turtle.fd(150)

# turtle.backward(distance) | turtle.back(distance) | turtle.bk(distance)

# 画笔向绘制方向的相反方向移动distance(integer or float)的pixels距离

# 例如:

turtle.backward(200)

# turtle.right(angle) | turtle.rt(angle)

# 绘制方向向右旋转angle度

# 例如:

turtle.rt(45)

# turtle.left(angle) | turtle.lt(angle)

# 绘制方向向左旋转angle度

# 例如:

turtle.lt(45)

# turtle.setpos(x, y=None) | turtle.setposition(x, y=None) | turtle.goto(x, y=None)

# 移动到绝对位置,如果画笔按下,就画线

# 参数x(a number or a pair/vector of numbers)

# 参数y(a number or None)

# 如果y为None,x必须是a pair of coordinates or a Vec2D

# 例如:

turtle.setpos((20,80))

turtle.setposition(120,20)

turtle.goto(60,30)

# turtle.setx(x)

# y纵向坐标不变,更改x横向坐标,x(integer or float)

# 例如:

turtle.setx(15)

# turtle.sety(y)

# x横向坐标不变,更改y纵向坐标,y(integer or float)

# 例如:

turtle.sety(15)

# turtle.seth(to_angle) | turtle.setheading(to_angle)

# 将方向设置成to_angle.to_angle(integer or float)to_angle的值在不同模式下含义如下

"standard"模式逆时针 "logo"模式顺时针

0 - east 0 - north

90 - north 90 - east

180 - west 180 - south

270 - south 270 - west

如下图"standard"模式时(默认0时表示x方向向右即向东);"logo"模式时(默认0时表示y方向向上即向北)

y"logo"时

^

|

|

|

(0,0)——————> x"standard"时

# 例如:

# "standard"模式时角度为逆时针,所以90度表示向北;logo"模式时角度为顺时针,所以90度表示向东

turtle.setheading(90)

# turtle.home()

# 将位置和方向恢复到初始状态,位置初始坐标为(0,0),方向初始为("standard"模式为right向右即东,"logo"模式是up向上即北)

# 例如:

turtle.home()

# turtle.circle(radius, extent=None, steps=None)

# 按给定的半径画圆,当前位置为圆的初始端点

Parameters:

radius(a number,圆半径,为正数则逆时针画,为负数则顺时针画,方向随着轨迹的变化而变化)

extent(a number or None,一个角度,决定哪部分圆圈被绘制,不提供extent表示画完整的圆)

steps(an integer or None,指定半径radius前提下,完成extent的角度时,分了几步,如画正5边形时turtle.circle(40, None, 5))

# 例如:

turtle.home()

# 当前位置(0,0)开始逆时针画半径为30的圆

turtle.circle(30)

# 逆时针画半径为50的半圆

turtle.circle(50, 180)

# 方向值为180,"standard"模式时方向向左,"logo"模式方向向下

print(turtle.heading())

turtle.circle(-50, 180)

print(turtle.heading())

# 逆时针方向半径为40画五边形(5步画接近整圆的图形)

turtle.circle(40, None, 5)

# turtle.dot(size=None, *color)

# 按给定直径size画圆点(None[未提供时取pensize+4 和 2*pensize中的最大值] 或 >= 1的整数),color圆点颜色

# 例如:

turtle.home()

# 当前画笔大小为1

print(turtle.pensize())

# 未提供取最大直径值为pensize+4 = 5

turtle.dot()

turtle.fd(50)

# 以直径为5画蓝色圆点

turtle.dot(5, "blue")

turtle.fd(50)

# 以直径为20画红色圆点

turtle.dot(20, "red")

turtle.fd(50)

print(turtle.position())

print(turtle.heading())

# turtle.stamp()和turtle.clearstamp(stamp_id)和turtle.clearstamps(n=None)

# turtle.stamp()是在当前位置拷贝一份此时箭头的形状,返回一个stamp_id(int型),

# turtle.clearstamp(stamp_id)用来删除指定stamp_id的箭头形状

# turtle.clearstamps(n=None),n为None时表示删除所有拷贝的箭头形状;为0不删除;n > 0 表示删除前n个,n < 0 表示删除后n个

# 例如:

# 画笔颜色设成红色

turtle.color("red")

num = 0

while num < 5:

# 当前位置拷贝一份箭头形状

stamp_id = turtle.stamp()

turtle.fd(50)

num += 1

# 改变画笔颜色为黑

turtle.color("black")

# 删除拷贝的箭头形状(此处id最后一次复制的stamp_id)

turtle.clearstamp(stamp_id)

# 删除前1个

turtle.clearstamps(1)

# 删除后1个

turtle.clearstamps(-1)

# 全部删除

turtle.clearstamps()

# 不删除

# turtle.clearstamps(0)

# turtle.undo()

# (每调用一次就)撤销最后的一次动作,需要撤销所有可通过while turtle.undobufferentries(),turtle.undobufferentries()返回当前可撤销次数

# 例如:

# 一直撤销最后一个动作直到不可撤销

while turtle.undobufferentries():

# 撤销最后的一次动作

turtle.undo()

# turtle.speed(speed=None)

Parameters:

peed为0-10的整数(1-10越来越快,0表示最快,参数为小数会被自动置为整数)或如下内置的速度字符串,如果>10或小于0.5则被置为0;为>=0.5的小数时被置为四舍五入的值。speed未设置则返回当前速度

# 内置的速度字符串:

"fastest": 0

"fast": 10

"normal": 6

"slow": 3

"slowest": 1

# 例如:

# 速度为0,表示速度最快

turtle.speed(0)

# <0.5速度会被置为0,表示速度最快

turtle.speed(0.4)

# >10速度会被置为0,表示速度最快

turtle.speed(20)

# 速度字符串fastest,表示速度最快

turtle.speed("fastest")

# 速度最慢

turtle.speed("slowest")

# 速度为9

turtle.speed(9)

b).获取(海龟)箭头的状态

# position() | pos()

# 返回(海龟)箭头当前位置坐标

# 例如:

turtle.pos()

# turtle.towards(x, y=None)

# 返回(海龟)箭头当前位置指向(x,y)位置连线的向量的角度(取决于当前模式,"standard"/"world"默认方向向右(即东)逆时针开始;"logo"模式默认方向向上(即北)顺时针开始)

Parameters:

x:x可以是一个number或一个pair/vector of numbers或一个turtle instance

y:x是一个number,y就是一个number;否则y为None

# 例如:

turtle.goto(20, 20)

# 移动后,位置为(20,20),两个向量分别是(20,20)点到(0, 0)点的向量和(20, 20)点到箭头当前方向的向量("standard"模式默认向右,逆时针算角度,"logo"模式默认向上,顺时针算角度)

angle = turtle.towards(0, 0)

print("两向量角度:", angle)

# turtle.towards((0, 0), None)

angle = turtle.towards((0, 0))

print("两向量角度:", angle)

# turtle箭头当前位置与turtle1箭头当前位置连线的向量到turtle箭头当前位置与turtle当前方向连线的向量角度

turtle1 = turtle.Turtle()

turtle1.setpos(0, 0)

angle = turtle.towards(turtle1)

# "standard"模式逆时针算角度,所以towards()后的角度angle是225,不是135

print("两向量角度:", angle)

# turtle.xcor() 和 turtle.ycor()

# turtle.xcor()是返回(海龟)箭头的x坐标,turtle.ycor()是返回(海龟)箭头的y坐标

# 例如:

turtle.lt(50)

turtle.fd(100)

# 打印箭头当前坐标(64.28,76.60)

print(turtle.pos())

# 原数据64.27876096865394,保留5位后打印64.27876

print(round(turtle.xcor(), 5))

# 原数据76.60444431189781,保留5位后打印76.60444

print(round(turtle.ycor(), 5))

# turtle.heading()

# 返回当前箭头方向角度,取决于当前模式mode,"standard"模式时默认方向向右逆时针计算角度;"logo"模式默认方向向上,顺时针计算角度

# 例如:

见turtle.circle中的例子

python turtle什么意思_Python turtle(介绍一)相关推荐

  1. python turtle什么意思_python turtle的作用有什么

    python turtle的作用有什么 发布时间:2020-09-21 13:43:15 来源:亿速云 阅读:139 作者:Leah python turtle的作用有什么?针对这个问题,这篇文章详细 ...

  2. python turtle库下载_python turtle库的几个小demo

    一.先上图 一个同切圆和五角星 上代码 import turtle #同切圆 turtle.pensize(2) turtle.circle(10) turtle.circle(40) turtle. ...

  3. python六芒星怎么画_Python Turtle绘画初学编程——六芒星,浪形圈

    老师上课说可以自学一下python中的绘图turtle,就自己初步学习了一下,做了两个简单的绘图--六芒星和浪形圈(其实我也不知道该叫它什么,就照样子编了个词??). 六芒星的代码: 1 import ...

  4. python turtle隐藏画笔_Python turtle库的画笔控制说明

    turtle.penup() 别名 turtle.pu() :抬起画笔海龟在飞行 turtle.pendown() 别名 turtle.pd():画笔落下,海龟在爬行 turtle.pensize(w ...

  5. python控制画笔尺寸_Python turtle库的画笔控制说明

    turtle.penup() 别名 turtle.pu() :抬起画笔海龟在飞行 turtle.pendown() 别名 turtle.pd():画笔落下,海龟在爬行SRE实战 互联网时代守护先锋,助 ...

  6. python turtle是什么_python turtle有什么用?

    python的强大在于它有许多的强大的库,turtle就是其中之一. 利用turtle,你可以进行交互式的绘画,作为一个艺术白痴,想要画一幅画可能很困难,但是利用python的turtle库,只需要几 ...

  7. python用turtle画四叶草_Python turtle画图库画姓名实例

    *****看一下我定义的change()和run()函数****** 绘图坐标体系: 作用:设置主窗体的大小和位置 turtle.setup(width, height, startx, starty ...

  8. python turtle写名字_Python turtle库教学8:大结局!谈谈标题中的空格……

    话说看了这么多期教学了,为什么标题都是酱的:Python turtle库教学--? 为什么要空格? 非常简单:有一款软件,叫做PythonTurtle.(注意到没有空格) 它包含了Python与tur ...

  9. python怎么画蛇_Python turtle 画蛇

    本节我们将利用画笔相关指令来画一条蛇,如下图 仔细观察这个图,弯曲的蛇身,可以利用circle命令,来画弧线.然后向前直行,再画一个180度的弧线,让蛇头转回来,这样基本上就可以了. 程序示例: im ...

最新文章

  1. BZOJ 1194: [HNOI2006]潘多拉的盒子 [DP DFA]
  2. linux http 配置文件,Linux http配置文件解析
  3. POJ3070矩阵快速幂简单题
  4. Linux源代码编译安装详解
  5. TI CC2480 -- Z-Accel介绍
  6. 计算机网络是一个 系统,计算机网络是一个什么系统
  7. Git 基础 —— 配置与日志信息
  8. NLP深度学习:近期趋势的总体概述
  9. Waiting Processed Cancelable ShowDialog (Release 2)
  10. FISCO BCOS 区块最大最长交易执行时间
  11. centos 6.4 使用sendmail发送邮件(cacti)
  12. WinRAR压缩软件无广告版
  13. 一维码和二维码相关知识
  14. 使用百度开发者工具 4.0 搭建专属的小程序 IDE
  15. 最小二乘法曲线拟合(代码环境:matlab)
  16. 【转】94个比付费软件更好的免费软件
  17. c语言long类型转换成string,如何在C ++中将long转换为string?
  18. git reset三种模式区别和使用场景(hard,soft,mixed)
  19. C语言中getch()、getche()和getchar()
  20. 基于Java毕业设计在线交易系统源码+系统+mysql+lw文档+部署软件

热门文章

  1. mysql 笛卡尔积影响_SQL优化 MySQL版 -分析explain SQL执行计划与笛卡尔积
  2. 计算机平面设计职业兴趣怎么写,中职生职业生涯规划书范文(美术设计类)
  3. 一个华裔女孩马天琪的心愿
  4. 网课搜答案公众号接口系统
  5. 电信光猫获取超级管理密码
  6. 关于ios低版本在app store下载软件时由于版本低导致不能下载的解决办法
  7. ubuntu-18.04 tenda U9安装wifi驱动
  8. Flash Builder 4.7 破解安装
  9. [SQL]yyyymmdd类型与yyyy-mm-dd日期类型的相互转换
  10. esp8266 OLED SSD1306程序集合