当前位置 : 主页 > 编程语言 > python >

Python如何使用turtle库绘制图形

来源:互联网 收集:自由互联 发布时间:2021-04-09
1. 前奏: 在用turtle绘制图形时,需要安装对应python的解释器以及IDE,我安装的是pycharm,在安装完pycharm后,在pycharm安装相应库的模块,绘图可以引入turtle模块,想要进行运算可以引入

1. 前奏:

在用turtle绘制图形时,需要安装对应python的解释器以及IDE,我安装的是pycharm,在安装完pycharm后,在pycharm安装相应库的模块,绘图可以引入turtle模块,想要进行运算可以引入numpy模块。

需要注意: 在pycharm 中 turtle 是不支持提示的,可能是动态语言的一种毛病吧

turtle绘图常用的函数有:


操纵海龟绘图有着许多的命令,这些命令可以划分为两种:一种为运动命令,一种为画笔控制命令

(1)画笔运动命令:

命令 说明

  • turtle.forward(distance) 向当前画笔方向移动distance像素长
  • turtle.backward(distance) 向当前画笔相反方向移动distance像素长度
  • turtle.right(degree) 顺时针移动degree°
  • turtle.left(degree) 逆时针移动degree°
  • turtle.pendown() 移动时绘制图形,缺省时也为绘制
  • turtle.goto(x,y) 将画笔移动到坐标为x,y的位置
  • turtle.penup() 移动时不绘制图形,提起笔,用于另起一个地方绘制时用
  • turtle.speed(speed) 画笔绘制的速度范围[0,10]整数
  • turtle.circle() 画圆,半径为正(负),表示圆心在画笔的左边(右边)画圆

(2)画笔控制命令:

命令 说明

  • turtle.pensize(width) 绘制图形时的宽度
  • turtle.pencolor() 画笔颜色
  • turtle.fillcolor(colorstring) 绘制图形的填充颜色
  • turtle.color(color1, color2) 同时设置pencolor=color1, fillcolor=color2
  • turtle.filling() 返回当前是否在填充状态
  • turtle.begin_fill() 准备开始填充图形
  • turtle.end_fill() 填充完成;
  • turtle.hideturtle() 隐藏箭头显示;
  • turtle.showturtle() 与hideturtle()函数对应

(3) 全局控制命令

命令 说明

  • turtle.clear() 清空turtle窗口,但是turtle的位置和状态不会改变
  • turtle.reset() 清空窗口,重置turtle状态为起始状态
  • turtle.undo() 撤销上一个turtle动作
  • turtle.isvisible() 返回当前turtle是否可见
  • stamp() 复制当前图形
  • turtle.write(s[,font=("font-name",font_size,"font_type")]) 写文本,s为文本内容,font是字体的参数,里面分别为字体名称,大小和类型;font为可选项, font的参数也是可选项

2. 需要说明的

(1): 在画布上,默认有一个坐标原点为画布中心的坐标轴, 坐标原点上有一只面朝x轴正方向小乌龟. 这里我们描述小乌龟时使用了两个词语:坐标原点(位置),面朝x轴正方向(方向), turtle绘图中, 就是使用位置方向描述小乌龟(画笔)的状态 这个命令就是goto();

(2): turtle.circle(radius, extent=None, steps=None)描述: 以给定半径画圆

参数:

  • radius(半径); 半径为正(负),表示圆心在画笔的左边(右边)画圆
  • extent(弧度) (optional);
  • steps (optional) (做半径为radius的圆的内切正多边形,多边形边数为steps)

举例:

  • circle(50) # 整圆;
  • circle(50,steps=3) # 三角形;
  • circle(120, 180) # 半圆

(3) 填充 start_fill() end_fill()

参数为空 表示在一个画笔运动状态结束的时候,填充的内容颜色

3.具体例子:

绘制一个正方形

4.绘制 五角星

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持易盾网络。

网友评论