目录

一、turtle库的导入

二、绘图命令介绍

1.  画布属性设置

2.  画笔属性设置

3.  移动画笔和转角绘图

4.  图形绘制与图形填充

三、turtle绘图实例:绘制太阳花


        Python语言的turtle库是一个直观有趣的图形绘制函数库,是python语言标准库之一。turtle库的绘图原理是在一个横轴为x、纵轴为y的坐标平面中,以原点(0,0)位置为开始点,根据一组函数指令的控制来移动,从而在它爬行的路径上绘制图形。

一、turtle库的导入

方法一import turtle

方法二import turtle as t

方法三from turtle import *

二、绘图命令介绍

1.  画布属性设置

语法含义
turtle.screensize(width,height,bg)   设置画布的宽、高、背景颜色
turtle.setup(width,height,startx,starty)  设置画布显示窗口的大小、位置,前两个参数为窗口大小,后两个参数为起始点位置

2.  画笔属性设置

语法含义
turtle.shape("turtle")设置画笔的形状(turtle-海龟;arrow-箭头;circle-圆圈;square-实心正方形;triangle-三角形;classic-默认箭头)
turtle.pensize(width)设置当前画笔线条的宽度为width像素
turtle.colormode(1.0[255])设置画笔颜色模式
turtle.pencolor(colorstring)设置画笔的颜色,参数colorstring可以是"green"、"red"、"blue"、“yellow”等英文字符串
turtle.speed(5)设置画笔的移动速度,画笔绘制的速度范围在[0,10]整数之间,数字越大,画笔移动的速度越快。

3.  移动画笔和转角绘图

语法含义
turtle.penup()/pu()/up()提起画笔,不绘图
turtle.pendown()/pd()/down()画笔移动时绘制图形
turtle.forward(100)/fd(100)画笔向当前方向移动100像素距离
turtle.backward(100)/bk(100)画笔向相反方向移动100像素距离
turtle.right(45)/rt(45)画笔顺时针移动45度
turtle.left(45)/lt(45)画笔逆时针移动45度
turtle.setheading(45)/seth(45)设置当前画笔朝向为45度
turtle.goto(x,y)移动画笔到指定坐标位置
turtle.hideturtle()隐藏画笔turtle形状
turtle.showturtle()显示画笔turtle形状

实例代码

# coding:utf8
import turtle as t

t.setup(500, 500)    # 设置画布大小
t.reset()            # 清空窗口
t.pensize(4)         # 设置画笔大小为4

# 绘制外层正方形
t.penup()            # 提起画笔
t.pencolor("red")    # 设置画笔颜色
t.goto(-200, -200)    # 设置外层正方形起点坐标
t.pendown()
t.forward(400)       # 外层正方形边长为400像素
t.left(90)
t.forward(400)
t.left(90)
t.forward(400)
t.left(90)
t.forward(400)

# 绘制中间正方形
t.penup()
t.pencolor("yellow")
t.goto(-150, -150)   # 中间正方形起点坐标
t.pendown()
t.seth(0)           # 重新设定画笔角度为0°
t.forward(300)
t.left(90)
t.forward(300)
t.left(90)
t.forward(300)
t.left(90)
t.forward(300)

# 绘制内层中方形
t.penup()
t.pencolor("blue")
t.goto(-100,  -100)    # 内层正方形起点坐标
t.pendown()
t.seth(0)
t.forward(200)
t.left(90)
t.forward(200)
t.left(90)
t.forward(200)
t.left(90)
t.forward(200)

t.done()

4.  图形绘制与图形填充

语法含义
turtle.circle(5,[extent,steps])绘制半径为5的圆形
turtle.color(pencolor,fillcolor)同时设置画笔颜色(边框颜色)和填充颜色
turtle.begin_fill()以当前为起点,开始填充颜色
turtle.end_fill()以当前为终点,结束填充图形
turtle.done()绘图结束后,保留窗口

代码实例

# coding:utf8
import turtle

turtle.setup(500, 500)
turtle.reset()
turtle.pensize(5)

turtle.penup()
turtle.goto(0, -200)
turtle.pendown()

# 绘制红边框蓝填充颜色的大圆
turtle.color("red", "blue")
turtle.begin_fill()
turtle.circle(200)
turtle.end_fill()

# 绘制红边框绿填充颜色的大圆
turtle.color("red", "green")
turtle.begin_fill()
turtle.circle(150)
turtle.end_fill()

# 绘制红边框黄填充颜色的大圆
turtle.color("red", "yellow")
turtle.begin_fill()
turtle.circle(100)
turtle.end_fill()

turtle.done()

 

三、turtle绘图实例:绘制太阳花

import turtle as t        # 导入Turtle库,并指定导入库的别名为t

t.color("red", "yellow")  # 同时设置pencolor=red, fillcolor=yellow
t.speed(10)               # 设置画笔绘制的速度为10
t.begin_fill()            # 准备开始填充图形

for x in range(50):       # 利用for循环绘制太阳花
    t.forward(200)        # 向当前画笔方向移动200像素
    t.left(170)           # 逆时针旋转170度

t.end_fill()              # 填充完成
t.done()                  # 绘制完成后窗口不退出

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐