分分钟掌握 python turtle 库:画图工具
turtle库简介
turtle是python标准库,可以想象一只小乌龟趴在画布的中间,头朝着正右边,然后乌龟爬过的地方就是所画出来的内容。
设置画布
设置画布的大小,首先需要引入turtle库:
import turtle turtle.setup(1300 , 800, 0 , 0) #设置画布的大小为 1300 ,800 的画布,起始位置在(0, 0) #若是不设置后两位:turtle.setup (1300 , 800) 画布就在正中间
坐标体系
绝对坐标&海龟坐标(控制方向)
绝对坐标 :简单说就以画布为中心为原点,做笛卡尔坐标系。改变乌龟爬行的反向 <turtle.setheading(angle)>
海龟坐标 : 就是乌龟朝前的方向下,有个left和right的方法,非常适合在for in 循环中使用,可以让乌龟一直打转转的方法 turtle.left(45) 向左边转个45度。
设置颜色
对应RGB三色内容:turtle.colormode(mode)
mode = (255 , 255, 255) white
mode 同时支持相对的小数输入
控制画笔
turtle.penup()把乌龟抬起来,运笔时,没有墨迹,支持简写成turtle.up(), turtle.pu()
turtle.pendown() 把乌龟放下来,可以做出画,
运笔函数
turtle.forward() # turtle.fd()
turtle.circle( 40 , 180) #乌龟以左为正,所以在以它左边40像素位置为圆心,画180度的弧—半圆
turtle.circle(-40, 180)
目前学到就是往前爬,画弧线。其他都是辅助。
实战例子
#PythonDraw.py
import turtle
turtle.setup(650, 350, 200, 200)
turtle.penup()
turtle.fd(-250)
turtle.pendown()
turtle.pensize(25)
turtle.pencolor("purple")
turtle.seth(-40)
for i in range(4):
turtle.circle(40, 80)
turtle.circle(-40, 80)
turtle.circle(40, 80/2)
turtle.fd(40)
turtle.circle(16, 180)
turtle.fd(40 * 2/3)
turtle.done()
#PythonDraw.py
import turtle
turtle.setup(650, 350, 200, 200)
turtle.fd(100)
turtle.seth(90)
turtle.fd(100)
turtle.seth(180)
turtle.fd(100)
turtle.seth(270)
turtle.fd(100)
turtle.done()
#绝对坐标来设置画正方形
#PythonDraw.py
import turtle
turtle.setup(650, 350, 200, 200)
turtle.fd(50)
for i in range(8):
turtle.left(80)
turtle.fd(50)
turtle.done()
#相对坐标来做多边形