实例:绘制一条蟒蛇
#turtle:绘图库(海龟库)
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()
turtle库:入门级图形绘制库,标准库
turtle绘图体系的python实现
一只turtle在画布上游走,画布单位是像素
文档链接:https://docs.python.org/3/library/turtle.html
绘图窗体相对于屏幕的位置:
turtle.setup(width,height,startx,starty)#绘图窗体的大小和位置,不是必须的
turtle.setup(width,height)#绘图窗体默认在屏幕中间
坐标体系:
空间坐标体系:
绝对坐标:初始位置在画布的正中心
设置海龟爬行目的地:turtle.goto(100,100)
海龟坐标:对于海龟自身视角而言
改变海龟爬行方向:
turtle.circle(r,angle)
turtle.bk(d)#后退d
turtle.fd(d)#前进d
角度坐标体系:
改变海龟的行进角度
绝对角度:相对于画布上是x轴
turtle.seth(45)
海龟角度:相对于海龟当前面向
turtle.left(angle)
turtle.right(angle)
色彩体系
turtle是RGB色彩体系(默认采用小数值)
turtle.colormode(mode) #mode=1.0小数值,mode=255整数值
turtle.colormode(1.0)
turtle.pencolor(1,1,0.4)
turtle库的语法元素分析
import
from 库 import 函数(*)#不用在前面加库名,但会导致函数名冲突
import 库 as 库的小名 #重新命名为简单的库名,常用
画笔控制函数
画笔操作后一直有效,一般成对出现turtle.penup() turtle.pendown()
画笔大小 turtle.pensize(width) = turtle,width(width)
画笔颜色 turtle.pencolor(color) #color为rgb或字符串,rgb元组值:
(1,0.1,0.3) (“white”)((1,3,233))
运动控制函数:使海龟爬起来——画出线
运动路径函数(直线与曲线)
turtle.forward(d) = turtle.fd(d) #向前行进,d为负时倒退着行进
turtle.circle(r,extent=none) #曲线半径,圆心在海龟左侧r处,默认走整个圈
方向控制函数:绝对角度&相对角度
只改变海龟转向!!
绝对角度:相对于绝对坐标系中的x轴
turtle.setHeading(angle) = turtle.seth(angle)
相对角度:相对于海龟当前面向
turtle.left(angle)
turtle.right(angle)
其他函数:
speed(数字或者后面的保留字):设置绘制速度;“fastest”: 0 “fast”: 10 “normal”: 6 “slow”: 3 “slowest”: 1
#注意 0 为最快【1,10】成山峰型 10以上则依然为最快,而且数字可以是浮点数
clear():清空笔迹
hideturtle():隐藏海龟