问题分析
用程序绘制一条蛇。
问题1,计算机绘图的原理是什么?
一段程序如何产生窗体?如何在窗体上绘制图形?
问题2,python绘制蛇从哪里开始?
如何绘制一条直线、弧形?
首先看下程序代码:
#贪吃蛇.py
import turtle
turtle.setup(560,350,200,200)
turtle.penup()
turtle.fd(-250)
turtle.pendown()
turtle.pensize(25)
turtle.pencolor('red')
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()
举一反三
Python贪吃蛇绘制共有17行代码,单很多行相似。
清楚理解这17行代码,就能够掌握python基本绘图方法。
参考框架结构、逐行分析、逐词理解。
程序参数改变
改变蛇的颜色,黑白红绿七彩等。
修改蛇的长度。
修改蛇的爬行方向。
计算问题扩展
Python绘制蛇是该类问题的代表
学会了蛇的绘制,我们就可以绘制圆形、五角星、国旗、机器猫等。
turtle基本介绍
Turtle也叫画笔,是turtle的绘图体系,是标准库之一。
标准库,是随解释器直接安装在操作系统中的功能模块。
第三方库,需要通过安装才能是用的模块。
库(libray)包(package)模块(module)
turtle的原理
Turtle是一只画笔,可以在窗体上行走,行走的轨迹就是绘制的图像,通过改变画笔的属性,我们可以变换颜色、画笔宽度等。
turtle绘图窗体
窗体就相当于ps中的画布,它的位置可以在桌面上进行定位。
使用turtle.setup(width,height,startx,starty)来定位窗口在显示器上的位置和窗口大小。
Shtup不是必须的。
Turtle.setup(800,800,,)指的是生成一个窗体,长、宽为800像素,位于桌面左上角。
Turtle.setup(800,800)指的是生成一个窗体,长、宽为800像素,位于桌面中心位置。
Turtle空间坐标体系
绝对坐标,依画笔的起始点作为二维坐标的中心,来定位画笔的位置。
turtle. goto(x,y)制定画笔到达对应位置。
画笔坐标,中心位置为画笔所在位置。
turtle .fd(d):画笔的向前方向。
turtle .bk(d):画笔向后方向。
turtle .circle(r,angle):以画笔所在位置为圆心,以r为半径,做对应角度的圆弧运动。
绝对角度
turtle . seth(angle):只改变画笔行进的方向。
turtle. seth(45):画笔方向向着绝对角度45度。
相对角度
turtle.right(angle):画笔向右旋转对应的角度。
turtle.left(angle):画笔向左旋转对应的角度。
turtle RGB色彩体系
红绿蓝3个通道每个通道的取值范围为整数值0——255,小数值0——1。
默认采用小数值使用turtle.colormode(mode)来改变数值类型。
1.0为小数模式,255为整数模式。
库引用与import
扩充python程序功能的方式。
使用import保留字完成,采用.()编码风格。
formimpor
不会出现函数名重复问题。
使用form和import两个保留字完成库引用。
formimport *
使用()
即可,函数名有重复的可能。
使用import和as两个保留字完成引用。
import as
使用的时候
.()
turtle画笔控制函数
turtle .penup()或turtle .pu()指的是画笔抬起。
turtle .pendown()或turtle .pd()指的是画笔落下。
turtle .pencolor()指的是画笔颜色,color有三中形式,字符串、RGB小数值、RGB元组类型。
turtle.pensize(width)或turtle.width(width)指的是设置画笔的大小。
turtle运动控制函数
控制画笔走直线或者曲线
turtle.fd(d)或turtle.forward(d),d为行进距离可以为负数,单位为像素。
turtle.circle(r,extent=None),根据半径r绘制extent角度的弧形。
turtle方向控制函数
控制画笔面对的面对的方向,绝对角度和画笔角度。
turtle.setheading(angle)或者turtle.seth(angle),改变行进方向,绝对角度。
turtle.left(angle),画笔向左转角度。
turtle.left(angle),画笔向右转角度。
基本循环语句
循环语句按照一定次数循环执行的语句。
for in range()
range()函数,产生循环序列的函数。
range(N)产生从到N-1的N个数值。
range(M,N)产生M到N-1的序列,有N-M个数值。
单元小结
库引用的方式。
turtle的相关元素。
循环语句。
韩黑桃原创
领取专属 10元无门槛券
私享最新 技术干货