Python turtle库整理与使用实例

turtle库的使用整理

近期笔者自学了一点Python语言的知识
其中的 turtle库 就是一个很有意思的图形库
turtle库 相较于C++的图形库 graphics.h 而言,也简洁清爽了不少

以下笔者结合自己的学习过程,对 turtle库 进行了一些整理:

turtle库的画笔运动命令

函数名 具体操作
turtle.forward(distance) 向当前画笔方向移动distance像素长度
turtle.backward(distance) 向当前画笔相反方向移动distance像素长度
turtle.circle(+rad,angle) 以rad为半径,angle为角度画圆,圆心在画笔左侧
turtle.circle(-rad,angle) 以rad为半径,angle为角度画圆,圆心在画笔右侧
turtle.seth(angle) 将画笔转动angle角度,以逆时针为默认方向
turtle.fd(length) 沿当前方向前进length
turtle.bd(length) 沿当前方向后退length
turtle.right(angle) 顺时针移动angle°
turtle.left(angle) 逆时针移动angle°
turtle.goto(x,y) 将画笔移动到坐标为x,y的位置
home() 将画笔位置还原,默认指向屏幕正右侧

turtle画笔和画布设置

函数名 具体操作
turtle.setup(length,width,x,y) 画布大小设置为length*width,初始化在屏幕的(x,y)处
turtle.pensize(size);turtle.width(size) 设置画笔宽度为size
turtle.pencolor(“color1”,“black”) 设置画笔颜色为color1,引导画笔的turtle颜色为color2
turtle.fillcolor(“color”) 设置填充色为color
turtle.bgcolor(“color”) 设置背景颜色为color
turtle.clear() 清空整个画布,但不会改变turtle的位置和状态
turtle.reset() 清空整个画布,同时初始化turtle的位置和状态
turtle.done() 结束绘画,必须是图形程序中的最后一句
turtle.undo() 撤销上一个操作

这里需要注意颜色的设定可以是 颜色所对应的英文 ,也可以是 颜色对应的RPG三元组

运用turtle库的程序实例

基本图案,填充色为红色的五角星:

import turtle
turtle.fillcolor("red")
turtle.begin_fill()
for i in range(5):
    turtle.forward(200)
    turtle.right(144)
turtle.end_fill()
turtle.hideturtle()
turtle.done()

效果图:
Python turtle库整理与使用实例_第1张图片

组合图形,含有一个公共点的四个等半径圆形:

import turtle

def main():
    turtle.setup(300,300,600,120)
    turtle.pensize(6)
    turtle.color('blue','black')
    turtle.circle(40,360)
    turtle.seth(90)
    turtle.circle(40,360)
    turtle.seth(180)
    turtle.circle(40,360)
    turtle.seth(270)
    turtle.circle(40,360)
    turtle.seth(0)
    turtle.done()

main()

效果图:
Python turtle库整理与使用实例_第2张图片

Python图标中的蟒蛇:

import turtle

def drawSnake(rad, angle, len, neckrad):
    for i in range(len):
        turtle.circle(rad,angle)
        turtle.circle(-rad,angle)
    turtle.circle(rad,angle/2)
    turtle.fd(rad)
    turtle.circle(neckrad+1,180)
    turtle.fd(rad*2/3)

def main():
    turtle.setup(1300,800,0,0)
    pythonsize = 30
    turtle.pensize(pythonsize)
    turtle.pencolor("blue")
    turtle.seth(-40)
    drawSnake(40,80,5,pythonsize/2)
    turtle.done()

main()

效果图:
Python turtle库整理与使用实例_第3张图片

进阶图案,形状复杂颜色也较为多样化

这个图案笔者也是看到大佬的创意模仿的,
不过可操作性比较强:

import turtle
t=turtle.Pen()
turtle.bgcolor("black")
side=6
colors=["red","yellow","green","blue","orange","purple"]
for x in range(360):
    t.pencolor(colors[x%side])
    t.forward(x*3/side+x)
    t.left(360/side+1)
    t.width(x*side/200)

turtle.done()

效果图:
Python turtle库整理与使用实例_第4张图片通过运用turtle库能写出各种有趣的图案,甚至可以在界面中画出时钟
具体如何操作
就看各自的想法了

你可能感兴趣的:(Python)