龙空技术网

浅谈Python 中的 Turtle(海龟绘图)库

编程鲍老师 148

前言:

现在大家对“python中自带绘图模块turtle”大概比较看重,朋友们都需要了解一些“python中自带绘图模块turtle”的相关资讯。那么小编在网摘上搜集了一些关于“python中自带绘图模块turtle””的相关知识,希望各位老铁们能喜欢,你们快快来了解一下吧!

海龟绘图(Turtle)最初来自于 Wally Feurzeig, Seymour Papert 和 Cynthia Solomon 于 1967 年所创造的 Logo 编程语言,特别适合引导孩子学习编程。当然,也可以在实际项目中用于很多图形界面绘制,如游戏、媒体等应用领域。

海龟绘图怎么绘图呢?

海龟绘图主要是通过组合不同命令来完成一个复杂的图形界面,如一只海龟的起始位置在 x 、 y 平面的 (0,0)坐标点上,通过向右移动,向上移动,向左移动,画圆等操作命令完成一个比较复杂的界面。

如用 turtle 绘制一朵可以送给女朋友或男朋友的玫瑰花,该案例来源于网络,感谢作者。

这里,录了一段视频,供大家观赏

绘制完成这样一朵玫瑰花,其实就是同单个画圆、画方以及位移命令组合在一起绘制完成,将一朵玫瑰花分成多个部分,一个部分一个部分组合命令绘制,最后在将玫瑰花个部分组合在一起,这样就绘制完成了一朵漂亮的玫瑰花。

比如绘制玫瑰花瓣的代码,其中 begin_fill 你可以理解为填充颜色的意思,在你需要填充颜色区域前 begin_fill,再在区域后 end_fill 即可将 fillcolor 填充到绘制区域。

# 花蕊 turtle.fillcolor("red") turtle.begin_fill() turtle.circle(20, 180) turtle.circle(25, 110) turtle.left(50) turtle.circle(60, 45) turtle.circle(20, 170) turtle.right(24) turtle.fd(30) turtle.left(10) turtle.circle(30, 110) turtle.fd(20) turtle.left(40) turtle.circle(90, 70) turtle.circle(30, 150) turtle.right(30) turtle.fd(15) turtle.circle(80, 90) turtle.left(15) turtle.fd(45) turtle.right(165) turtle.fd(20) turtle.left(155) turtle.circle(150, 80) turtle.left(50) turtle.circle(150, 90) turtle.end_fill()

再比如绘制一片叶子,还是将不同的命令组合在一起绘制完成一片树叶。

# 叶子1 turtle.fd(30) turtle.left(90) turtle.fd(25) turtle.left(45) turtle.fillcolor("green") turtle.begin_fill() turtle.circle(-80, 90) turtle.right(90) turtle.circle(-80, 90) turtle.end_fill() turtle.right(135) turtle.fd(60) turtle.left(180) turtle.fd(85) turtle.left(90) turtle.fd(80)

那这么多命令都是什么意思呢?别急,下面即将为大家整理出来

移动和绘制

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() 背景图片

clear() | clearscreen() 清除屏幕所有内容

reset() | 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() 标题

以上就是 海龟绘图( Turtle )常用的命令代码,欢迎学习,希望对你有所帮助。

标签: #python中自带绘图模块turtle