Python基本图形绘制
深入理解python语言
计算机技术的演进
1946-1981 计算机系统结构时代 计算能力问题
1981-2008 网络和视窗时代 交互问题
2008-2016 复杂信息系统时代 数据问题
2017- 人工智能时代 人类的问题
编程语言种类的发展
超级语言 粘性整合已有程序,具备庞大计算生态
高级语言 接近自然语言,编译器,与CPU型号无关
汇编语言 有助记符,汇编器,与CPU型号有关
机器语言 代码直接执行,与CPU型号有关
实例2:python蟒蛇绘制
#PythonDraw.py
import turtle #引入一个绘图库名字叫做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()
程序参数的改变
python蟒蛇的颜色:黑色、白色、七彩色
python蟒蛇的长度:1节、3节、10节
python蟒蛇的方向:向左走,斜着走
计算问题的扩展
Python蟒蛇绘制问题是各类图像绘制问题的代表
圆形绘制、五角星绘制、国旗绘制、机器猫绘制
掌握一条线的方法,就可以绘制整个世界
模块1:turtle库的使用
turtle库基本介绍
标准库:随解释器直接安装到操作系统中的功能模块
第三方库:需要经过安装才能使用的功能模块
库Library、包Package、模块Module,统称模块
turtle的原理
turtle是一种真实存在
有一只海龟,其实在窗体正中心,在画布上游走
走过的轨迹形成了绘制的图形
海龟由程序控制,可以变换颜色,改变宽度等
turtle绘图窗体布局
setup()设置窗体大小及位置
4个参数中后两个可选
setup()不是必须的
turtle空间坐标体系
turtle角度坐标体系
import turtle
turtle.left(45)
turtle.fd(150)
turtle.right(135)
turtle.fd(300)
turtle.left(135)
turtle.fd(150)
RGB色彩体系
rgb色彩模式
由三种颜色构成的万物色
rgb指红绿蓝三个通道的颜色组合
覆盖视力所能感知的所有颜色
rgb每色取值范围0-255整数或0-1小数
英文名称 | RGB整数值 |
---|---|
turtle的rgb色彩模式
默认采用小数值,可切换为整数值
turtle.colormode(mode)
1.0:rgb小数值模式
255:rgb整数值模式
turtle程序语法元素分析
库引用与import
扩充Python程序功能的方式
使用import保留字完成,采用.编码风格
import <库名>
<库名>.<函数名>(<函数参数>)
import更多用法
使用from和import保留字共同完成
form <库名> import <函数名>
from <库名> import *
<函数名>(<函数参数>)
#PythonDraw.py
from turtle import* #引入一个绘图库名字叫做turtle
setup(650,350,200,200)
penup()
fd(-250)
pendown()
pensize(25)
pencolor("purple")
seth(-40)
for i in range(4):
circle(40,80)
circle(-40, 80)
circle(40,80/2)
fd(40)
circle(16,180)
fd(40*2/3)
done()
2种方法比较
import <库名>
<库名>.<函数名>(<函数参数>)
from <库名> import <函数名>
from <库名> import*
<函数名>(<函数参数>)
第一种方法不会出现函数重名问题
第二种可能会出现
import 更多用法
使用import和as保留字共同完成
import <库名> as <库别名>(<函数参数>)
给调用的外部库关联一个更短、更适合自己的名字
#PythonDraw.py
import turtle as t #引入一个绘图库名字叫做turtle
t.setup(650,350,200,200)
t.penup()
t.fd(-250)
t.pendown()
t.pensize(25)
t.pencolor("purple")
t.seth(-40)
for i in range(4):
t.circle(40,80)
t.circle(-40, 80)
t.circle(40,80/2)
t.fd(40)
t.circle(16,180)
t.fd(40*2/3)
t.done()
turtle画笔控制函数
penup(),pendown(),pensize(),pencolor()
画笔操作后一直有效,一般成对出现
turtle.penup() 别名 turtle.pu()
拾起画笔,海龟在飞行
turtle.pendown() 别名 turtle.pd()
落下画笔,海龟在爬行
画笔设置一直有效,直至下次重新设置
turtle.pensize(width) 别名 turtle.width(width)
画笔宽度,海龟的腰围
turtle.pencolor(color) color为颜色字符串或r,g,b值
画笔颜色,海龟在涂装
pencolor(color)的color参数可以有三种形式
颜色字符串:turtle.pencolor(“purple”)
rgb的小数值:turtle.pencolor(0.63,0.13,0.94)
rgb的元组值:turtle.pencolor((0.63,0.13,0.94))
turtle运动控制函数
控制海龟行进:走直线&走曲线
turtle.forward(d) 别名 turtle.fd(d)
向前行进,海龟走直线
-d:行进距离,可以为负数
turtle.circle(r,extent=None)
根据半径r绘制extent角度的弧形
r:默认圆心在海龟左侧r距离的位置
extent:绘制角度,默认是360度整圆
turtle方向控制函数
seth()
控制海龟面对方向:绝对角度&海龟角度
turtle.setheading(angle) 别名 turtle.seth(angle)
改变行进方向,海龟走角度
angle :改变行进方向,海龟走角度
方向控制函数
控制海龟面对方向:绝对角度&海龟角度
turtle.left(angle) 海龟向左转
turtle.right(angle) 海龟向右转
angle:在海龟当前行进方向上旋转的角度
基本循环语句
循环语句与range函数
for i in range(4):
turtle.circle(40,80)
turtle.circle(-40,80)
循环语句
按照一定次数循环执行一组语句
for <变量> in range (<参数>)
<被循环执行的语句>
<变量>表示循环执行的次数,0到<次数>-1
>>> for i in range(5):
print(i)
0
1
2
3
4
>>> for i in range(5):
print("Hello:",i)
Hello: 0
Hello: 1
Hello: 2
Hello: 3
Hello: 4
range()函数
产生循环计数序列
range(N)
产生0到N-1的整数序列,共N个
range(M,N)
产生M到N-1的整数序列,共N-M个
range(5)
0,1,2,3,4
range(2,5)
2,3,4
Python蟒蛇绘制 代码分析