Turtle海龟画图

概述

turtle库绘制图是一个直观有趣的图形绘制函数库。turtle图形绘制非常成功用于LOGO编程语言,python接受turtle库这个概念,形成了一个python的turtle库。在python中海龟绘图提供了一个实体“海龟形象”(带有画笔的小机器动物),假定它在地板上平铺的纸张上画线。

绘制坐标体系

刚开始绘制时,小海龟在坐标系中爬行,其爬行轨迹成了绘制图形。刚开始绘制时,小海龟位于画布的正中央,此时坐标为(0,0),行进方向为水平右方。

python turtle库绘画坐标体系

turtle.setup(width,height,startx,starty)

作用:主窗口的大小和位置。

width:

窗口宽度,if整数表示像数值;if 是小数,表示窗口宽度与屏幕的比例

height:

窗口高度,if整数表示像数值;if 是小数,表示窗口高度与屏幕的比例

startx:

窗口左侧与屏幕左侧的像素距离,如果值是None,窗口位于屏幕水平中央

starty:

窗口顶部与屏幕顶端的像素距离;if 值是None,窗口位于屏幕垂直中央

启动海龟环境

在 Python shell 中,导入 turtle 模块的所有对象:

from turtle import *

如果你遇到了 No module named '_tkinter' 错误,则需要在你的系统中安装 Tk 接口包

通过保留字import引用海龟函数库

import turtle

引用库函数

第一种引用库函数的方式

import<库名>

此时,程序可以调用库名中所有的函数,格式为:

<库名>.<函数名>.(<函数参数>)

<a>.<b>()是python编程的一种典型表达形式,它可以表现调用一个对像<a>的方法<b>(),也可以表示调用一个函数库<a>中的函数<b>()。

第二种引用函数库的方法

form<库名>import*  

 #*是通配符,表示所有的函数

此时调用库函数不再需要使用库名,直接使用

<函数名>(<函数参数>)

使用 from turtle import * 是很方便 —— 但要注意它导入的对象集相当大,如果你还在做海龟绘图以外的事情就有发生名称冲突的风险(如果你在可能导入了其他模块的脚本中使用海龟绘图则可能会遇到更大的问题)。

解决办法是使用 import turtle —— fd() 将变成 turtle.fd()width() 将变成 turtle.width() 等等。 (如果反复输入“turtle”太过烦琐,还可以改成 import turtle as t 等。)

基本绘图

1.turtle.penup()和tuetle.pendown()函数

turtle.penup()

turtle.pendown()

turtle.penup()

别名:turtle.pu(),turtle.up()

作用:抬起画笔,之后移动画笔不绘制形状。

参数:无

1.turtle.pendown()

别名:turtle.pd(),turtle.down()

作用:落下画笔之后移动画笔将绘制形状。

参数:无

2.turtle.pensize()函数

turtle.pensize(25) 用来设置画笔尺寸,

turtle.pensize(width)

别名

turtle.width()

作用:设置画笔宽度,当无参数输入时返回当前画笔宽度。

参数如下:设置的画笔线条宽度,如果为None或者为空,则函数返回当前画笔宽度。

3.turtle.pencolor()函数

turtle.pencolor("purple")

turtle.pencolor(colorstring)或turtle.pencolor((r,g,b))

作用:设置画笔颜色,当无参数时输入时返回当前颜色。

colorstring:表示颜色的字符串,"purple","red","blue"

(r,g,b):颜色对应RGB的数字,(51,104,140)

4.turtle.fd()函数

turtle.fd(-250)

turtle.fd(40)

turtle.fd(40*2/3)

turtle.fd(distance)

别名turtle.forward(distance)

作用:向小海龟当前行进方向前进distance距离

5.turtle.seth()函数

turtle.seth(-40)

turtle.seth(to_angle)

别名turtle.setheading(to_angle)

海龟的位置

将海龟送回起点

(这适用于海龟消失在屏幕之外的情况):

home()

初始位置在海龟屏幕的中心。 如果你需要知道具体数值,可以这样获取海龟的 x-y 坐标:

pos()

初始点在 (0, 0)

过一段时间后,也许可以考虑清空窗口这样我们就可以重新开始:

clearscreen()

我们想要用红色线条,黄色填充:

color('red')
fillcolor('yellow')

就像用 up() 和 down() 决定是否画线一样,填充也可以打开或关闭:

begin_fill()

接下来我们将创建一个循环:

while True:
    forward(200)
    left(170)
    if abs(pos()) < 1:
        break

abs(pos()) < 1 是确定海龟何时回到初始点的好办法。

最后,完成填充:

end_fill()

(请注意只有在你给出 end_fill() 命令时才会实际进行填充。)接下来我们将创建一个循环:

最后,完成填充:

end_fill()

(请注意只有在你给出 end_fill() 命令时才会实际进行填充。)

海龟绘图参考

Turtle 方法

海龟动作

移动和绘制

forward() | fd() 前进

backward() | bk() | back() 后退

right() | rt() 右转

left() | lt() 左转

goto() | setpos() | setposition() 前往/定位

setx() 设置x坐标

sety() 设置y坐标

setheading() | seth() 设置朝向

home() 返回原点

circle() 画圆

dot() 画点

stamp() 印章

clearstamp() 清除印章

clearstamps() 清除多个印章

undo() 撤消

speed() 速度

获取海龟的状态

position() | pos() 位置

towards() 目标方向

xcor() x坐标

ycor() y坐标

heading() 朝向

distance() 距离

设置与度量单位

degrees() 角度

radians() 弧度

画笔控制

绘图状态

pendown() | pd() | down() 画笔落下

penup() | pu() | up() 画笔抬起

pensize() | width() 画笔粗细

pen() 画笔

isdown() 画笔是否落下

颜色控制

color() 颜色

pencolor() 画笔颜色

fillcolor() 填充颜色

填充

filling() 是否填充

begin_fill() 开始填充

end_fill() 结束填充

更多绘图控制

reset() 重置

clear() 清空

write() 书写

海龟状态

可见性

showturtle() | st() 显示海龟

hideturtle() | ht() 隐藏海龟

isvisible() 是否可见

外观

shape() 形状

resizemode() 大小调整模式

shapesize() | turtlesize() 形状大小

shearfactor() 剪切因子

settiltangle() 设置倾角

tiltangle() 倾角

tilt() 倾斜

shapetransform() 变形

get_shapepoly() 获取形状多边形

使用事件

onclick() 当鼠标点击

onrelease() 当鼠标释放

ondrag() 当鼠标拖动

特殊海龟方法

begin_poly() 开始记录多边形

end_poly() 结束记录多边形

get_poly() 获取多边形

clone() 克隆

getturtle() | getpen() 获取海龟画笔

getscreen() 获取屏幕

setundobuffer() 设置撤消缓冲区

undobufferentries() 撤消缓冲区条目数

TurtleScreen/Screen 方法

窗口控制

bgcolor() 背景颜色

bgpic() 背景图片

clearscreen()

resetscreen()

screensize() 屏幕大小

setworldcoordinates() 设置世界坐标系

动画控制

delay() 延迟

tracer() 追踪

update() 更新

使用屏幕事件

listen() 监听

onkey() | onkeyrelease() 当键盘按下并释放

onkeypress() 当键盘按下

onclick() | onscreenclick() 当点击屏幕

ontimer() 当达到定时

mainloop() | done() 主循环

设置与特殊方法

mode()

colormode() 颜色模式

getcanvas() 获取画布

getshapes() 获取形状

register_shape() | addshape() 添加形状

turtles() 所有海龟

window_height() 窗口高度

window_width() 窗口宽度

输入方法

textinput() 文本输入

numinput() 数字输入

Screen 专有方法

bye() 退出

exitonclick() 当点击时退出

setup() 设置

title() 标题

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
turtle是一个Python的绘图库,它提供了许多函数和方法来使海龟绘图变得更简单。在这里,我看到了三个不同的turtle海龟绘图练习。 第一种练习是画出一个由四个半圆组成的四瓣小花。代码中使用turtle库的一些函数,比如`turtle.fd(len)`用于前进一定距离,`turtle.seth(angle)`用于设置海龟的朝向。 第二种练习是根据输入的半径,用四个半圆按逆时针顺序画出一个图形。代码中使用turtle库的`turtle.circle(radius, extent)`函数来绘制半径为n的半圆,`turtle.seth(angle)`用于设置海龟的朝向。 第三种练习是叠加绘制等边三角形。代码中使用turtle库的`turtle.circle(radius)`函数来绘制一个半径为r的圆形,`turtle.penup()`和`turtle.pendown()`分别用于起笔和落笔,`turtle.sety(y)`用于移动笔的位置。 这些练习都是为了让初学者熟悉turtle海龟绘图的使用方法,并在练习中掌握一些基本的绘图技巧。你可以根据自己的兴趣和需要进行进一步的练习和探索。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [【Pythonturtle海龟画图练习](https://blog.csdn.net/weixin_45867159/article/details/120190244)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值