北理Python-2-Python基本图形绘制

目录

2.1 turtle库的使用

2.1.1 turtle库基本介绍

2.1.2 turtle绘图窗体布局

2.2.3 turtle空间坐标体系

2.2.4 turtle角度坐标体系

2.2.5 RGB色彩体系

2.2 turtle程序语法元素分析

2.2.1 库引用与import

2.2.2 turtle画笔控制函数

2.2.3 turtle运动控制函数

2.2.4 turtle方向控制函数

2.2.5 循环语句与range()函数

2.3 实例2:Python蟒蛇绘制源代码


2.1 turtle库的使用

2.1.1 turtle库基本介绍

turtle库概述

turtle(海龟)库是turtle绘图体系的Python实现

  1. - turtle绘图体系:1969年诞生,主要用于程序设计入门
  2. - Python语言的标准库之一
  3. - 入门级的图形绘制函数库

标准库

Python计算生态 = 标准库 + 第三方库

- 标准库:随解释器直接安装到操作系统中的功能模块

- 第三方库:需要经过安装才能使用的功能模块

- 库Library、包Package、模块Module,统称模块

turtle的原理

turtle(海龟)是一种真实的存在

- 有一只海龟,其实在窗体正中心,在画布上游走

- 走过的轨迹形成了绘制的图形

- 海龟由程序控制,可以变换颜色、改变宽度等

2.1.2 turtle绘图窗体布局

turtle的一个画布空间

最小单位是像素

turtle的绘图窗体

北理Python-2-Python基本图形绘制_第1张图片

turtle.setup(width, height, startx, starty)

  • - setup()设置窗体大小及位置
  • - 4个参数中后两个可选
  • - setup()不是必须的

 北理Python-2-Python基本图形绘制_第2张图片

2.2.3 turtle空间坐标体系

绝对坐标

turtle.goto(x, y)

该命令是让海龟从当前位置,沿直线走到(x,y)点处

例如

import turtle

turtle.goto( 100, 100)

turtle.goto( 100,-100)

turtle.goto(-100,-100)

turtle.goto(-100, 100)

turtle.goto(0,0)

运行结果为

北理Python-2-Python基本图形绘制_第3张图片

除了有绝对坐标,还有相对坐标,即海龟坐标

2.2.4 turtle角度坐标体系

绝对角度

turtle.seth(angle)

- seth()改变海龟行进方向

- angle为绝对度数

- seth()只改变方向但不行进

 例如

北理Python-2-Python基本图形绘制_第4张图片

 除了绝对角度,当然还有海龟角度

 

import turtle

turtle.left(45)

turtle.fd(150)

turtle.right(135)

turtle.fd(300)

turtle.left(135)

turtle.fd(150)

以上程序运行结果如下

北理Python-2-Python基本图形绘制_第5张图片

2.2.5 RGB色彩体系

- RGB指红蓝绿三个通道的颜色组合

- 覆盖视力所能感知的所有颜色

- RGB每色取值范围0-255整数或0-1小数

常用RGB色彩

北理Python-2-Python基本图形绘制_第6张图片

turtle的RGB色彩模式

默认采用小数值 可切换为整数值

turtle.colormode(mode)

- 1.0:RGB小数值模式

- 255:RGB整数值模式

 


2.2 turtle程序语法元素分析

2.2.1 库引用与import

库引用

扩充Python程序功能的方式

- 使用import保留字完成,采用.()编码风格

import <库名>

<库名>.<函数名>(<函数参数>)

import更多用法

使用from和import保留字共同完成

from <库名> import <函数名>

from <库名> import *

<函数名>(<函数参数>)

两种方法比较

北理Python-2-Python基本图形绘制_第7张图片

第一种方法不会出现函数重名问题,第二种方法则会出现

import更多用法

使用import和as保留字共同完成

import <库名> as <库别名>

<库别名>.<函数名>(<函数参数>)

给调用的外部库关联一个更短、更适合自己的名字

 

2.2.2 turtle画笔控制函数

画笔操作后一直有效,一般成对出现

- 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))

2.2.3 turtle运动控制函数

控制海龟行进:走直线

- turtle.forward(d) 别名 turtle.fd(d)

向前行进,海龟走直线

- d: 行进距离,可以为负数

控制海龟行进:走曲线

- turtle.circle(r, extent=None)

根据半径r绘制extent角度的弧形

- r: 默认圆心在海龟左侧r距离的位置

- extent: 绘制角度,默认是360度整圆

 北理Python-2-Python基本图形绘制_第8张图片

2.2.4 turtle方向控制函数

控制海龟面对方向: 绝对角度

- turtle.setheading(angle) 别名 turtle.seth(angle)

改变行进方向,海龟走角度

- angle: 行进方向的绝对角度

 北理Python-2-Python基本图形绘制_第9张图片

控制海龟面对方向:海龟角度

- turtle.left(angle) 海龟向左转

- turtle.right(angle) 海龟向右转

- angle: 在海龟当前行进方向上旋转的角度

 

2.2.5 循环语句与range()函数

循环语句

按照一定次数循环执行一组语句

for <变量> in range(<次数>):

<被循环执行的语句>

- <变量>表示每次循环的计数,0到<次数>-1

range()函数

产生循环计数序列

- range(N)

产生 0 到 N-1的整数序列,共N个

- range(M,N)

产生 M 到 N-1的整数序列,共N-M个

 


2.3 实例2:Python蟒蛇绘制源代码

#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()

你可能感兴趣的:(北理Python学习笔记,学习,python)