当前位置:   article > 正文

Python初学2——turtle库绘图_采用绝对坐标goto函数左转右转函数 直线曲线绘制函数

采用绝对坐标goto函数左转右转函数 直线曲线绘制函数

一、库引用

方法一:
优点:程序中不会出现函数重名问题;缺点:每次调用库中函数都要书写库名。

import <库名>
<库名>.<函数名>(<函数参数>)
  • 1
  • 2

方法二:
优点:每次调用库中函数不用书写库名;缺点:程序中可能会出现函数重名问题

from <库名> import *
<函数名>(<函数参数>)
  • 1
  • 2

方法三(推荐):
给引用的库关联一个更短、更适合自己的名字

import <库名> as <库别名>
<库别名>.<函数名>(<函数参数>)
  • 1
  • 2

二、turtle库基本介绍

Python语言的标准库之一,是入门级的图形绘制函数库。
turtle库功能形象表示为:一只海龟在画布上爬行,爬过的路程即线条,同时海龟的颜色、大小可以设置。

2.1 绘制窗体布局( setup() )

turtle.setup(width, high, startx, starty)				控制窗体大小和位置
  • 1

其中,后两个参数可选。若后两个参数省略,则默认窗口显示在屏幕的正中间。
在这里插入图片描述

2.2 空间坐标体系

2.2.1 绝对坐标( goto() )

始终以窗口中心作为坐标原点,海龟初始默认位于坐标原点。

turtle.goto(x, y)				只控制海龟行进到某一位置,海龟面朝方向不改变
  • 1

其中,x、y为绝对坐标。
在这里插入图片描述
例如:

import turtle
turtle.goto( 100, 100)
turtle.goto( 100,-100)
turtle.goto(-100,-100)
turtle.goto(-100, 100)
turtle.goto(   0,   0)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

运行结果如下图所示:
在这里插入图片描述

2.2.2 海龟坐标( forward()、backward()、circle() )

始终以海龟当前面朝方向为前进方向,分为前进、后退、左侧、右侧四个方向。

turtle.forward(d) 别名:turtle.fd(d)				海龟向正前方向行进,走直线,面朝方向不变
turtle.backward(d) 别名:turtle.bk(d)				海龟向正后方向行进,走直线,面朝方向不变
turtle.circle(r, angle)								默认圆心在海龟左侧r距离处,海龟沿圆弧行进angle角度,面朝方向随圆弧改变
  • 1
  • 2
  • 3

其中,d为行进距离,单位像素,可为负数;
r为半径,r是正数则圆心在海龟左侧,r是负数则圆心在海龟右侧;
angle为弧度,angle=90为1/4圆,angle=360为整圆,angle若省略同样为整圆。
在这里插入图片描述

2.3 角度坐标体系

2.3.1 绝对角度( setheading() )

始终以窗口中x轴正半轴方向为0度,窗口中各个像素点的角度值固定。

turtle.setheading(angle) 别名:turtle.seth(angle)				只改变海龟的面朝方向,海龟不行进
  • 1

其中,angle为绝对度数。
在这里插入图片描述

2.3.2 海龟角度( left()、right() )

始终以海龟当前面朝方向为0度,分为左右两个转向方向。

turtle.left(angle)				海龟向左改变面朝方向
turtle.right(angle)				海龟向右改变面朝方向
  • 1
  • 2

其中,angle为在海龟当前面朝方向上旋转的角度。
在这里插入图片描述

2.4 RGB色彩体系( colormode() )

RGB每个色彩取值范围0 ~ 255整数或0 ~ 1小数。默认采用小数值。

turtle.colormode(mode)				RGB数值模式切换
  • 1

其中,mode取1.0,则为小数值模式;mode取255,则为整数值模式。
如下列出部分RGB颜色所对应的数值:
在这里插入图片描述
在这里插入图片描述

2.5 画笔控制函数( penup()、pendown()、pensize()、pencolor() )

画笔操作后一直有效,直到下一次再次改变它。
如下函数一般成对出现:

turtle.penup() 别名:turtle.pu()				画笔抬起,海龟飞起
turtle.pendown() 别名:turtle.pd()				画笔落下,海龟爬行
  • 1
  • 2
turtle.pensize(width) 别名:turtle.width(width)	画笔宽度,海龟的腰围
turtle.pencolor(color)							画笔颜色,海龟在涂装
  • 1
  • 2

其中,color为颜色字符串或r, g, b值。如:

import turtle
#设置画笔颜色为紫色
#法一:紫色的字符串
turtle.pencolor("purple")
#法二:紫色的小数值
turtle.pencolor(0.63, 0.13, 0.94)
#法三:紫色的元组值
turtle.pencolor( (0.63, 0.13, 0.94) )
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

2.6 程序运行完不自动退出窗口( done() )

turtle.done()				程序运行完,不让窗口自动关闭
  • 1

三、循环语句与range函数

3.1 循环语句( for和in )

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

其中,变量记录当前循环的次数,从0到(参数-1),循环“参数”次。

3.2 range函数( range() )

该函数可以产生循环计数序列,一般与关键字for、in搭配形成循环。

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

四、蟒蛇绘制实例

''''''''''''
蟒蛇图形绘制
''''''''''''
import turtle						#引用turtle库
turtle.setup(650, 350, 200, 200)	#设置画布窗口大小和位置
'''画笔准备阶段'''
turtle.penup()						#抬起画笔
turtle.fd(-250)						#海龟后退250个像素
turtle.pendown()					#落下画笔
turtle.pensize(25)					#设置画笔宽度为25
turtle.pencolor("black")			#设置画笔颜色为黑色
turtle.seth(-40)					#设置海龟面朝方向为绝对角度坐标-40度
'''绘画阶段'''
for i in range(4):					#绘制蟒蛇的4节弯曲身体
    turtle.circle(40, 80)
    turtle.circle(-40, 80)
turtle.circle(40, 80/2)				#调整海龟面朝方向和位置
turtle.fd(40)						#绘制蟒蛇的1节拉直身体
turtle.circle(16, 180)				#绘制蟒蛇脖子
turtle.fd(40 * 2/3)					#绘制蟒蛇的头部
turtle.done()						#结束绘制,保留画布窗口
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/117054
推荐阅读
相关标签
  

闽ICP备14008679号