【python学习笔记】python基本图形绘制

python基本图形绘制

本节课将通过一个蟒蛇绘制实例来学习:深入理解python语言,python蟒蛇绘制

深入理解python语言

不同语言有不同的设计初心
python语言的特点: 通用,脚本语言,开源语言,跨平台语言,多模型语言,语法简洁,生态高产

“超级语言”诞生记
机器语言:代码直接执行,与CPU型号有关
汇编语言:有助记符,汇编器,与CPU型号有关
高级语言:接近自然语言,编译器,与CPU型号无关
超级语言:粘性整合已有程序,具备庞大计算生态(python)

python蟒蛇绘制

问题分析

  1. 计算机绘图原理是什么?
  2. python蟒蛇绘制从哪里开始呢?

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库的使用

turtle(海龟)库是turtle绘图体系的python实现,主要用于程序设计入门,是python标准库之一,是入门级的图形绘制函数库。

python计算生态 = 标准库 + 第三方库
标准库:随解释器安装到操作系统中的功能模块
第三方库:需要经过安装才能使用的功能模块
库Library、包Package、模块Module,统称模块

turtle绘制窗体布局

  1. setup()设置窗体大小及位置,参数依次是宽度,高度,起始点的xy方向,后两个是可选的,默认是在屏幕正中
turtle.setup(width,height,startx,starty)
  1. turtle空间坐标系
    绝对坐标:turtle.goto(x, y)
    海龟坐标:turtle.fd(d)指的是向海龟的正前方运行、turtle.bk(d)向海龟的反方向运行、turtle.circle(r,angle)以海龟当前位置左侧的某一点为圆心进行曲线运动

  2. turtle的角度坐标体系
    turtle.seth(angle):改变当前海龟进行方向,seth不绘制任何图像,只改变方向但不行进,angle为绝对度数。turtle.left(angle)和turtle.right(angle),向左或向右。
    下面我们通过绘制一个“Z型”曲线来理解这些函数:

import turtle
turtle.left(45)  #方向为向左45°
turtle.fd(150)   #向前行进150个像素
turtle.right(135)
turtle.fd(300)
turtle.left(135)
turtle.fd(150)
  1. RGB色彩体系
    指红绿蓝三种颜色通道,每种颜色取值在0~255,turtle库默认使用rgb小数值,可以切换成整数值:turtle.colormode(mode),若mode = 1.0,则使用如果不小数值模式,若mode = 255,则使用rgb整数值模式

turtle程序语法元素分析

库引用和import

库引用:扩充python程序功能的方式

  • 使用import保留字来完成,采用< a>.< b>()编码风格

    具体方法:import <库名>
    <库名>.<函数名>(<函数参数>)

  • from <库名> import <函数名>
    from <库名> import *
    具体方法:<函数名>(<函数参数>)

比较:第一种不会出现函数重名的问题,第二种会

  • 使用import和as保留字共同完成:import <库名> as <库别名>
    具体方法:<库别名>.<函数名>(<函数参数>)
    给调用的外部库关联一个更短、更适合自己的名字

turtle画笔控制函数
画笔操作后一直有效,一般成对出现

  • turtle.penup() 别名 turtle.pu() 画笔抬起
  • turtle.pendown() 别名 turtle.pd() 画笔落下
  • turtle.pensize(width) 别名 turtle.width(width) 画笔宽度
  • turtle.pencolor(color) 修改画笔颜色,color参数有三种表达式:颜色字符串,rgb小数值,rgb整数值

在绘制中先让画笔起飞到指定位置,然后落下,设置画笔大小和颜色,开始绘制

turtle运动控制函数
控制海龟行进:走直线&走曲线

  • turtle.forward(d) 别名 turtle.fd(d) 向前行进,海龟走直线 d:行进距离,可以为负数,单位是像素
  • turtle.circle(r,extent = None) 根据半径r 绘制extent角度的弧形,圆心默认在海龟左侧r距离的位置上

turtle方向控制函数
控制海龟面对方向:绝对角度&海龟角度

  • turtle.setheading(angle) 别名 turtle.seth(angle) 改变行进方向,海龟走角度,绝对角度。例:当angle为45时,海龟方向由原点变成坐标系中的45°
  • turtle.left(angle) 海龟向左转 turtle.right(angle) 海龟向右转
    angle:在海龟当前行进方向上旋转的角度

方向改变函数只改变海龟的行进方向,如果需要运动,需要使用运动控制函数,让海龟走直线或者曲线

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

for <变量> in range(<参数>):
<被循环执行的语句>

range()函数:产生循环计数序列,有两种常用方法:

  • range(N):产生到N-1的整数序列,共N个
  • range(M,N):产生从M到N-1的整数序列,共N-M个

python蟒蛇绘制实例分析

#pythondraw.py
import turtle    #导入turtle库
turtle.setup(650,350,200,200)    #使用setup函数设定一个窗口,窗体大小是高650像素,宽350像素,位置左上角坐标是(200,200)
turtle.penup()   #将画笔抬起
turtle.fd(-250)  #让海龟倒退向后行进250个像素
turtle.pendown()  #将海龟落下
turtle.pensize(25)   #调整画笔大小为25个像素
turtle.pencolor("purple")  #设置画笔颜色为purple
turtle.seth(-40)   #将海龟方向改为绝对-40°方向
for i in range(4):   #使用循环使蟒蛇走曲线
    turtle.circle(40,80)  #使用40像素为半径绘制80度的弧度
    turtle.circle(-40,80)  #以反向40度为半径绘制80度
turtle.circle(40, 80/2)  #按照40像素的半径40度的方式绘制少半个弧形
turtle.fd(40)
turtle.circle(16,180)  #继续使用半圆绘制头部
turtle.fd(40 * 2/3)    #使用继续向前进的一个直线
turtle.done()  #done函数,程序运行之后不会自动退出

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

眉眼弯弯001

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值