第十章 python标准库

第一节 turtle库(绘制图形)

1.turtle库原理与引用

turtle(海龟)是Python重要的标准库之一,它能够进行基本的图形绘制。
turtle库绘制图形有一个基本框架:

  • 一个小海龟在窗体中爬行,其爬行轨迹形成了绘制图形;
  • 对于小海龟来说,有“前进”、“后退”、“旋转”等爬行行为;
  • 对坐标系的探索也通过“前进方向”、“后退方向”、“左侧方向”和“右侧方向”等小海龟自身角度方位来完成;

库的引用(导入)格式(以turtle库为例)

python中标准库的引用格式有以下三种:

  1. import turtle,则对turtle库中函数调用采用==turtle.<函数名>()==形式。
  2. from turtle import *,则对turtle库中函数调用直接采用**<函数名>()**形式,不在使用 turtle.作为前导
  3. import turtle as t,则对turtle库中函数调用采用更简洁的==t.<函数名>()==形式,保留字as的作用是将turtle库给予别名t
  4. from turtle import fd,表示引用turtle库中的fd()函数(导入时函数不加括号,多个函数用逗号分隔)

2.turtle绘图窗体布局

绘制turtle图形首先需要一个绘图窗体,在操作系统上表现为一个窗口,它是turtle的一个画布空间。

  • 在窗口中使用的最小单位是像素。
  • 在屏幕坐标系和窗体坐标系中存在窗体位置和大小的问题。
  • turtle.setup()函数用来设置启动窗体的位置和大小
    turtle.setup(width,height,startx,starty)
  • width :窗口宽度,如果值是整数,表示的像素值;如果值 是小数,表示窗口宽度与屏幕的比例;
  • height: 窗口高度,如果值是整数,表示的像素值;如果 值是小数,表示窗口高度与屏幕的比例;
  • startx:窗口左侧与电脑屏幕左侧的像素距离,默认值为0 ,表示窗口位于屏幕水平中央;
  • starty:窗口顶部与电脑屏幕顶部的像素距离,默认值为0 ,表示窗口位于屏幕垂直中央;
    下面用一个图来更形象的讲解setup()函数的四个参数的作用
    setup()函数参数

关于setup()函数参数的小tip
1.图中较大的矩形表示的是电脑屏幕,其左上方的顶点坐标为(0,0);
2.窗体左上方顶点的坐标为(startx,starty)
3.setup()函数的最后两个参数(startx,starty)有默认值,默认窗体打开在屏幕正中央
4.setup()函数的最后两个参数(startx,starty)一般都为默认值。
5.setup()函数影响着后面所有会用到像素距离的函数。
练习:

turtle.setup(800,400,0,0)
#表示打开一个宽为800像素,高为400像素的绘图窗口,且绘图窗口左上方的顶点与电脑屏幕的左上方顶点相同。
turtle.setup(800,400,0,0)
#表示打开一个宽为800像素,高为400像素的绘图窗口,且绘图窗口在电脑屏幕的正中央。

3.turtule坐标体系

  • turtle绘制图形其本质可看为一个小海龟在窗体中爬行,其爬行轨迹形成了绘制图形
  • turtle库有两种坐标体系,且每种坐标体系又可分为绝对坐标和海龟坐标
  • 无论是哪一种坐标体系的哪一种坐标,海龟(画笔)的初始位置都在窗体的正中心,且海龟朝向正右方

turtle空间坐标体系

绝对坐标
  • 与数学中的空间坐标体系完全一致
  • 画笔初始位置的坐标为(0,0)
    turtle空间坐标轴的绝对坐标示意图如下:
    在这里插入图片描述
    :图中坐标100是虚指,表示无穷大,但实际坐标轴的长短取决于绘图窗体的大小,即坐标轴受setup()函数的影响。

turtle.goto(x,y)函数
作用:画一条直线(从当前画笔的位置到**绝对坐标(x,y)**的一条直线)
:使用turtle()函数时,画笔前后方向不改变,即turtle()函数不改变画笔的方向

海龟坐标

turtle空间坐标轴的海龟坐标示意图如下:
在这里插入图片描述
在这种坐标下,我们可用到以下函数:
turtle.fd(d)函数:
作用:表示海龟沿着当前方向向前走d个像素,其爬行轨迹为直线
别名turtle.forward(d)
turtle.bk(d)函数:
作用:表示海龟往沿着当前方向往后退d个像素,其爬行轨迹为直线
别名turtle.backward(d)

  1. 使用turtle.bk(d)函数不改变海龟的方向,只是让海龟往后退。
  2. 参数d可以为负数,表示海龟后退(fd函数)/前进(bk函数)

turtle.circle(r,angle)函数:
作用:表示海龟往沿着当前方向左侧距离为r像素的点为圆心,转过角度为angle的圆周运动(默认为360度),其爬行轨迹为曲线(圆周的一部分)
:r为负数表示圆心在右侧|r|的位置上

turtle角度坐标体系

turtle角度坐标体系改变的是画笔(海龟)的方向,且只改变方向,不绘制任何信息

绝对坐标(从绝对坐标角度出发)

turtle角度坐标体系的绝对坐标体系示意图:
在这里插入图片描述
turtle.seth(angle)函数:
作用:将画笔方向转向angle这一绝对方向

海龟角度(从海龟当前方向出发)

turtle角度坐标体系的海龟坐标体系示意图:
在这里插入图片描述
turtle.left(angle)函数:
作用:将海龟**沿当前方向向左转**angle度。

turtle.right(angle)函数:
作用&

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值