turtle库是python中的标准库工具,因此不需要pip安装,它拥有很强大的功能,可以绘制出各色各样的图案。

turtle的使用:

  1. 窗体布局;
  2. 坐标系:分为空间坐标和角度坐标;
  3. 画笔控制;
  4. 运动控制;
  5. 方向控制;

窗体布局:

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

宽、高、窗口左上角距离屏幕左边的距离,距离屏幕上面的距离,startx,starty可以不写,默认相对于屏幕居中

 

turtle.setup(888,666)

python turtle 坐标系 turtle坐标系默认在_ci

python turtle 坐标系 turtle坐标系默认在_字符串_02

空间坐标系: 分为绝对坐标系和海龟坐标系,

绝对坐标

原点、x轴、y轴,与直角坐标系相似

turtle.goto(x,y)

到达绝对坐标系中的指定位置

海龟坐标

以海龟头部方向为准,海龟默认水平向右

turtle.fd(d)

向前,全称为turtle.forward(d)

turtle.bk(d)

向后,全称为turtle.background(d)

turtle.circle(r,angle)

半径、弧度

python turtle 坐标系 turtle坐标系默认在_ci_03

python turtle 坐标系 turtle坐标系默认在_运动控制_04

 绝对坐标:

import turtle as t # turtle单词太长了,给turtle起个别名t
# 在使用goto之前海龟默认在绝对坐标系的原点
t.write("原点(0,0)")

t.goto(100,100) # 在第一象限
t.write("第一象限(100,100)")

t.goto(100,-100) # 在第四象限
t.write("第四象限(100,-100)")

t.goto(-100,100) # 在第二象限
t.write("第二象限(-100,100)")

t.goto(-100,-100) # 在第三象限
t.write("第三象限(-100,-100)")

t.done() # 控制程序不自动关闭,点击窗口关闭按钮才关闭

python turtle 坐标系 turtle坐标系默认在_ci_05

海龟坐标:

import turtle as t

t.fd(100) # 前进100px
t.circle(50,90) # 半径50,弧度90,四分之一圆
t.bk(200) # 后退200px,头的方向不变,保持circle的方向

t.done()

python turtle 坐标系 turtle坐标系默认在_ci_06

角度坐标系:分为绝对角度和空间角度

绝对角度

逆时针:0-360,顺时针0-负360

turtle.seth(angle)

改变海龟行进方向,angle为绝对度数,seth()只改变方向但不前进

海龟角度

海龟默认水平向右

turtle.left(angle)

海龟向左转angle角度,angle为数字

turtle.right(angle)

海龟向右转angle角度,angle为数字

python turtle 坐标系 turtle坐标系默认在_python turtle 坐标系_07

python turtle 坐标系 turtle坐标系默认在_ci_08

python turtle 坐标系 turtle坐标系默认在_字符串_09

画笔控制: 

turtle.penup()

抬起画笔,不会再屏幕上绘制图案,可以缩写为turtle.pu()

turtle.pendown()

落下画笔,可以在屏幕上绘制图案,可以缩写为turtle.pd()

turtle.pensize()

设置画笔宽度,别名turtle.width(width)

turtle.pencolor(color)

设置画笔颜色,可以是像pink一样的字符串,可以是rgb颜色

运动控制:

turtle.fd(d)

向前,全称为turtle.forward(d),d为负数取反方向

turtle.bk(d)

向后,全称为turtle.background(d),d为负数取反方向

turtle.circle(r,extent=None)

根据半径r绘制extent角度的弧形,

r:默认圆心在海龟左侧r距离的位置;’extent:绘制角度,默认是360度的整圆

方向控制:

turtle.setheading(angle)

改变行进的角度方向,别名turtle.seth(angle)

turtle.left(angle)

海龟向左转angle角度,只改变方向,不改变距离

turtle.right(angle)

海龟向右转angle角度,只改变方向,不改变距离

turtle的简单实例:

  1. 画个圆;
import turtle as t

t.circle(50) # 半径50,第二个参数不写,默认画个圆
t.done()

python turtle 坐标系 turtle坐标系默认在_字符串_10

  1. 画个粉色的正方形
import turtle as t

t.color("pink") # 设置画笔为粉色

t.fd(100)
t.seth(-90) # 根据海龟角度坐标系,设置角度
t.fd(100)
t.seth(-180)
t.fd(100)
t.seth(-270)
t.fd(100)

t.done()

python turtle 坐标系 turtle坐标系默认在_运动控制_11

  1. 画一个爱心
import turtle as t

# 画爱心思路,将爱心分成两条直线,两个半圆
# 从爱心底部开始画

# 初始化画笔
t.color("pink")

t.begin_fill() # 填充颜色,将爱心填满
t.left(140) # 左转140度
t.forward(114) # 向前走,画出爱心左侧的直线
# 画小半个圆
t.speed(8)
for i in range(200):
    t.right(1)
    t.forward(1)

# 一半的圆已经画好了,下面画另一半
# 画小半个圆
t.left(122)
for i in range(200):
    t.right(1)
    t.forward(1)
# 画直线
t.forward(114)
t.end_fill() # 填充颜色,将爱心填满,和begin配对使用

# 把画笔远离爱心
t.left(38)
t.pu()
t.forward(100)
t.done()