一、turtle库基本介绍

turtle绘图体系1969年诞生,是入门级的图形绘制函数库,是Python的标准库之一。

二、turtle绘图窗体布局

python绘制图形的位置 python基本图形绘制_ci


左上角为坐标原点,向右为python绘制图形的位置 python基本图形绘制_python绘制图形的位置_02正方向,向下为python绘制图形的位置 python基本图形绘制_python绘制图形的位置_03正方向。

python绘制图形的位置 python基本图形绘制_python绘制图形的位置_04


setup()函数设置窗体初始位置及大小,前2个参数控制宽和高,后2个参数控制窗体左上角位置,如不给出默认显示在屏幕中央。

三、turtle空间坐标体系和角度体系

1.坐标体系

坐标体系有2种,即绝对坐标体系和相对(或自然)坐标体系。

python绘制图形的位置 python基本图形绘制_相对坐标_05


上图为绝对坐标体系,窗体中央为坐标原点。goto(x,y)函数可以到达指定点。

python绘制图形的位置 python基本图形绘制_python绘制图形的位置_06


上图为自然坐标体系,以海龟自身为中心,分前后左右四个方向。

2.角度体系

角度体系也分2种,即绝对角度体系和相对角度体系。

python绘制图形的位置 python基本图形绘制_python_07


python绘制图形的位置 python基本图形绘制_python绘制图形的位置_08

四、RGB色彩体系

python绘制图形的位置 python基本图形绘制_python_09


RGB有2种色彩模式,即3个0~1之间的数字或者3个0~255之间的整数。可通过turtle.colormode(mode)函数切换模式。

python绘制图形的位置 python基本图形绘制_python_10

五、绘图操作

1.画笔控制函数

turtle.penup() :抬起画笔(此时画笔移动不留下痕迹)
turtle.pendown():落下画笔(此时画笔移动会留下痕迹)
turtle.pensize(width):设置画笔大小
turtle.pencolor(color):设置画笔颜色

2.运动控制函数

  • 绝对坐标
    turtle.goto(x,y):移动到指定坐标位置
  • 相对坐标
    turtle.forward(d):向前移动d个像素
    turtle.backward(d):向后移动d个像素
    turtle.circle(r,angle):以当前位置左侧(r>0)或右侧(r<0)python绘制图形的位置 python基本图形绘制_python绘制图形的位置_11个像素处为圆心,圆心角为angle度画圆

3.方向控制函数

  • 绝对角度
    turtle.setheading(angle):设置海龟头部的朝向
  • 相对角度
    turtle.left(angle):左转angle度
    turtle.right(angle):右转angle度

更多详细介绍请参见:turtle库函数大全

六、实战

自己练习了一个太极图的绘制,效果如下:

python绘制图形的位置 python基本图形绘制_ci_12


代码实现:

import turtle as t
#移动
def move(x,y):
    t.pu()
    t.goto(x,y)
    t.pd()
    return
#初始化
def init(pensize,pencolor,speed):
    t.pensize(pensize)
    t.pencolor(pencolor)
    return
def main():
	init(5,"black",10)
	move(0, 100)
	#画出黑色部分
	t.begin_fill()
	t.circle(-50, 180)
	t.circle(50, 180)
	t.circle(100,180)
	t.fillcolor("black")
	t.end_fill()
	#画出白色部分
	t.circle(100,180)
	#画白色小圆
	t.begin_fill()
	t.goto(0,-65)
	t.circle(15)
	t.fillcolor('white')
	t.end_fill()
	#画黑色小圆
	t.begin_fill()
	t.fillcolor('black')
	move(0,35)
	t.circle(15)
	t.end_fill()
	#收尾
	t.hideturtle()
	t.done()
main()