学习python基础二之python基本图形绘制
1.课前实例
1.1 蟒蛇绘制
import turtle as t #turtle库取别名为t
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()
2024-08-21 20-39-18
演示如上
1.2 过程分析
基本流程:调用turtle海龟库->设置画布(主窗体的大小和位置)->提起画笔->移动到画布上的一点->放下画笔->设置画笔的线条粗细于颜色等->改变画笔等画点方向->进行绘制
其涉及到的函数:
1.3 举一反三
通过改变程序参数:
Python蟒蛇的颜色:黑色、白色、七彩色…(改变pencolor函数的值)
Python蟒蛇的长度:1节、3节、10节…
Python蟒蛇的方向:向左走、斜着走…
进而扩展:
圆形绘制、五角星绘制、国旗绘制、机器猫绘制
绘制随机彩色蟒蛇:加一个随机生成函数,来随机生成RGB颜色
import random # 导入随机数模块实现随机颜色的功能
import turtle
turtle.colormode(255) # 把颜色表示法取值的模式从[0-1]之间改成[0-255]
#定义一个生成颜色的模块
def colorchoose():
a, b, c = random.randrange(0, 256), random.randrange(0, 256), random.randrange(0, 256)
color = (a, b, c)
return color #返回值是一个rgb颜色
turtle.setup(650, 350, 200, 200)
turtle.pu()
turtle.fd(-250)
turtle.pendown()
turtle.width(25)
turtle.seth(-40)
for i in range(4):
turtle.pencolor(colorchoose()) # 调用模块 随机生成rgb颜色
turtle.circle(40, 80)
turtle.pencolor(colorchoose()) # 调用模块 随机生成rgb颜色
turtle.circle(-40, 80)
turtle.circle(40, 80 / 2)
turtle.fd(40)
turtle.circle(16, 180)
turtle.fd(40 * 2 / 3)
turtle.done()
2. turtle库基本介绍及用法
turtle(海龟)库是turtle绘图体系的python实现
python计算生态=标准库+第三方库
2.1 turtle绘图窗口布局
turtle的绘图窗口——turtle的一个画布空间,最小的单位是像素
设置窗体大小及位置turtle.setup(width, height, startx, starty),后两个可选,setup非必须
如如下所示
2.2 turtle空间坐标体系
如下程序:
import turtle
turtle.goto(100, 100)
turtle.goto(100, -100)
turtle.goto(-100, -100)
turtle.goto(-100, 100)
turtle.goto(-0, 0)
与其相关的还有:
turtle.penup(): 抬起画笔,移动时无痕迹。
turtle.pendown(): 落下画笔,移动时有痕迹。
turtle.pensize(width): 设置画笔宽度。
turtle.pencolor(color): 设置画笔颜色,可以是颜色字符串或RGB值。
以海龟的头朝向为前进方向
涉及到的函数:
turtle.fd(x)向海龟前进方向前进x像素
turtle.bk(x)向海龟后退方向后退先x像素
turtle.circle(r, angle):)以左侧距离海龟距离为r的一点为圆心做曲线运动,运动弧度为angle,例:Turtle.circle(20, 90),是画四分之一个圆
2.3 turtle角度坐标体系
1) 设置海龟的朝向角度turtle.seth(角度),角度在0到360之间,只改变方向,不前进,绝对角度
如下所示改变海龟朝向角度
2)海龟角度
turtle.left(angle):让小海龟向左转动一个角度angle
turtle.right(angle):让小海龟向右转动一个角度angle
如下程序:
from turtle import *
left(45)
fd(150)
right(135)
fd(300)
left(135)
fd(150)
2.4 RGB色彩体系
RGB色彩模式:由三种颜色构成的万物色,turtle.colormode(mode)默认是小数形式,可以切换为整数值,1.0:RGB小数值模式,255:RGB整数值模式
RGB指红蓝绿三个通道的颜色组合,覆盖视力所能感知的所有颜色,RGB每色取值范围0-255整数或0-1小数
常用的RGB色彩如下表
3. turtle程序语法元素分析
3.1 库引用和import
库引用:扩充python程序功能的方式
几种库引用方法:
①import 库名:导入整个库文件
import 库名[as 别名]:导入整个库文件,并指定库别名
<库名/别名>.<函数名>(<函数参数>)
②from 库名 import [函数名]:导入指定文件的函数
from 库名 import *:导入指定文件所有函数
<函数名>.(<函数参数>)
③from 库名 import函数名[as 函数别名]:导入指定文件的函数,并指定函数别名
3.2 turtle画笔控制函数
turtle.penup() 别名 turtle.pu)
抬起画笔,海龟在飞行
turtle.pendown() 别名 t 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))
3.3 turtle运动控制函数
直线:turtle.forward(d)) 别名 turtle.fd(d) 向前行进,海龟走直线
d:行进距离,可以为负数
曲线:turtle.circle(r, extent=None)根据半径r绘制extent角度的弧形
r:默认圆心在海龟左侧~距离的位置- extent:绘制角度,默认是360度整圆
turtle.forward(d) 别名 turtle.fd(d) 向前行进,海龟走直线
d:行进距离,可以为负数
3.4 turtle方向控制函数
turtle.setheading(angle) 别名 turtle.seth(angle) 改变行进方向,海龟走角度
angle:行进方向的绝对角度
turtle.left(angle) 海龟向左转
turtle.right(angle) 海龟向右转
angle:在海龟当前行进方向上旋转的角度
详细其他函数见其他作者帖子:https://huaweicloud.csdn.net/63806ca0dacf622b8df87e66.html
作者:jia_ueana