Python中turtle模块,python语言turtle库画图代码示例

  Python中turtle模块,python语言turtle库画图代码示例

  Turtle library是一个非常流行的用Python语言绘制图像的函数库。下面这篇文章主要介绍Python中关于乌龟绘图模块的相关信息,通过图片、文字和示例代码进行了非常详细的介绍。有需要的朋友可以参考一下。

  00-1010前言turtle基本概念调出模块引用turtle模块(库)方法示例,使用write()函数总结Python中turtle模块的绘图步骤

  

目录

  Turtle库是一个流行的用Python语言绘制图像的函数库。可以轻松画出漂亮的形状和图案,非常适合指导孩子学习编程。

  Turtle模块是Python中的标准模块(内置模块)之一。

  [在Python中,模块也称为库]

  

前言

  Canvas,turtle模块扩展了用于绘图的区域,并且可以设置其大小和初始位置。

  turtle中默认的模式是标准,其坐标原点在画布中央,单位是像素。海龟空间坐标系分为位置坐标系和角度坐标系,画布默认大小为(400,300)。对于位置坐标系,与数学中的直角坐标系相同,右心坐标为(0,0)。你可以想象一只小乌龟,在一个x横轴y纵轴的坐标系的原点位置(0,0)开始。根据一组函数指令的控制,它从(0,0)开始goto函数有两个参数X,Y,这意味着任意位置的乌龟都可以到达某个坐标位置。对于角坐标系,X轴的正方向为0度,逆时针角度为正,顺时针角度为负,这和数学上是一样的。

  

turtle基本概念

  进口甲鱼

  Turtle定义了函数setup()的窗体(窗口)的大小和位置。

  setup()函数改变窗体(窗口)的大小,决定画布空间的大小及其在屏幕上的位置。格式:

  turtle.setup(宽度、高度、startx、starty)

  Width,height:当宽度和高度为整数时,表示像素;当它是小数时,表示电脑屏幕的比例;(startx,starty):这个坐标表示矩形窗口左上角顶点的位置。如果它是空的,窗口位于屏幕的中央。

  见下图:

  是单位像素。

  屏幕的左上角是原点。

  例子,

  进口甲鱼

  turtle.setup(800,500,0,0)

  请参见下面的示意图:

  另一个例子是:

  turtle.setup(宽度=0.6,高度=0.6)

  turtle.setup(宽度=800,高度=800,startx=100,starty=100)

  Turtle定义了画布的大小和背景颜色函数screensize()

  Screensize()函数改变画布的大小和背景颜色,格式:

  turtle . screensize(canv width=None,canvheight=None,bg=None)

  参数是画布的宽度(单位像素)、高度和背景颜色。

  比如:

  进口甲鱼

  turtle.screensize(480,360,绿色)

  形式和画布不是一个概念。如果画布比窗体大,窗体中就会出现滚动条;如果画布比窗体小,画布将填充整个窗体。要改变窗体(窗口)的大小,应该使用setup函数而不是screensize函数。

  表单比画布大,画布填充表单。测试代码:

  进口甲鱼

  turtle.setup(300,200)

  turtle.screensize(200,100,蓝色)

  Turtle.shape(turtle) #小乌龟出现

  运行,见下图:

  大画布

  于窗体,窗体出现滚动条。测试代码:

  

import turtle

  turtle.setup(300,200)

  turtle.screensize(500,400,"blue")

  turtle.shape("turtle") #出现小乌龟

  运行之,参见下图:

  

  

  

引用turtle模块(库)方法

  方法1

  

import turtle

  turtle.circle(10) #使用turtle

  方法2

  

from turtle import *

  circle(10) #使用turtle

  方法3

  

import turtle as t

  t.circle(10) #使用turtle

  turtle库包含近百个功能函数。在此我们介绍一些常用的函数:

  绘制状态函数:pendown()、penup()、pensize()

  函数名

  别名

  参数说明

  功能/作用

  pendown()

  pd() 或down()

  无

  落下画笔,之后移动画笔绘制。

  penup()

  pu()或up()

  无

  抬起画笔,之后移动画笔不绘制。

  pensize(width)

  width(width)

  width:设置的画笔线条宽度,如果为None或者为空,则返回当前画笔宽度

  设置画笔宽度,当无参数输入时返回当前画笔宽度。

  

  颜色控制函数:color()、pencolor()、begin_fill()、end_fill();

  函数名

  别名

  参数说明

  功能/作用

  color(colorstring)

  或

  color((r,g,b))

  或

  color(r,g,b)

  或 color(colorstr1,colorstr2)或 color((r1,g1,b1),(r2,g2,b2))

  

  当画笔和填充颜色相同时使用1个参数;

  当画笔和填充颜色不同时使用2个参数。

  

  colorstring:表示颜色的字符串,例如:Purple","red","blue"等。还支持十六进制颜色值,如:"#6666CC"等

  (r,g,b):颜色对应RGB的值,如绿色用rgb(0, 128, 0)。【注】

  返回设置画笔或填充颜色,当无参数输入时返回当前画笔及填充颜色。

  pencolor(colorstring)

  或

  pencolor((r,g,b))

  或

  pencolor(r,g,b)

  

  colorstring:表示颜色的字符串,例如:Purple","red","blue"等。还支持十六进制颜色值,如:"#6666CC"等

  

  (r,g,b):颜色对应的RGB的值,如绿色用rgb(0, 128, 0)。【注】

  返回或设置画笔颜色,当无参数输入时返回当前画笔颜色。

  begin_fill()

  

  无

  在绘制带有填充色彩图形之前调用,表示填充开始。

  ,end_fill()

  

  无

  在绘制带有填充色彩图形之后调用,表示填充结束。

  fillcolor(colorstring)

  或

  fillcolor((r,g,b))

  或

  fillcolor(r,g,b)

  colorstring:表示颜色的字符串,例如:Purple","red","blue"等。还支持十六进制颜色值,如:"#6666CC"等

  

  (r,g,b):颜色对应的RGB的值,如绿色用rgb(0, 128, 0)。【注】填充色彩

  【注】

  turtle模块(库)中用字符串表示颜色,如

  "red"表示红色

  "black"表示黑色

  "blue"表示蓝色

  "orange"表示橘黄色

  "green"表示绿色

  "gold"表示金色

  "yellow"表示红色

  "pink"表示粉色

  还支持十六进制颜色值,如:"#6666CC"、"#FF0000"、"#CCFFFF"等。

  turtle模块(库)中用RGB三原色表示颜色

  关于RGB三原色表示颜色简介

  当R值取满为255,G与B都取0时表示红色,当G值取满为255,R与B都取0时表示绿色,当B值取满为255,R与G都取0时表示蓝色,其他情况所得颜色即为红(R)、绿(G)、蓝(B)三个颜色通道的叠加颜色。常见叠加颜色如下表

  颜色名称

  红色值 Red

  绿色值 Green

  蓝色值 Blue

  黑色

  0

  0

  0

  蓝色

  0

  0

  255

  绿色

  0

  255

  0

  青色

  0

  255

  255

  红色

  255

  0

  0

  洋红色(亮紫色)

  255

  0

  255

  黄色

  255

  255

  0

  白色

  255

  255

  255

  

  用R、G、B对应的三元组来表示颜色。例如:(255,0,0)表示红色,(0,255,0)表示绿色。

  运动控制函数:forward()、backward()、right()、left()、setheading()、goto()、circle()

  函数名

  别名

  参数说明

  功能/作用

  forward(distance)

  fd(distance)

  distance:行进距离的像素值。当值为负数时,表示向相反方向前进。

  向画笔当前行进方向前进distance距离。

  backward(distance)

  或

  back(distance)

  bk(distance)

  distance:行进距离的像素值。当值为负值时,表示向前进方向行进。backward()函数不改变画笔的运动方向,相当于后退着行进。

  向当前画笔前进方向的反方向行进distance距离。

  right(angle)

  rt(angle)

  angle:角度整数值。

  以当前行进角度为原点,行进方向向右改变相对角度值angle

  left(angle)

  lt(angle)

  angle:角度的整数值。

  以当前行进角度为原点,行进方向向左改变相对角度值angle。

  setheading(to_angle)

  seth(to_angle)

  to_angle:角度的整数值。

  作用:设置画笔当前行进方向的角度为to_angle,该角度为绝对方向角度值。

  goto(x,y)

  

  x,y:x为标系的绝对横坐标值,y为置为坐标系的绝对纵坐标值。

  将画笔移动到绝对位置(x,y)处。

  circle(radius[,extent=None])

  [还有一个参数,在此未讲]

  

  radius:弧形半径,当值为正数时,半径在画笔左侧。当值为负数时,半径在画笔右侧。

  extent:绘制弧形角度。当不给该参数或该参数为None时,绘制整个圆形。当extent的值为正数时,顺当前方向绘制弧形;当extent的值为负数时,逆当前方向绘制弧形。

  根据半径radius绘制extent角度的弧形。

  

  

  【angle即角度,也可以为负数。distance即距离,也可以为负数】

  除此之外,再简要介绍一些函数如下

  画笔控制函数

  函数名

  说明

  turtle.shape(name)

  name指定乌龟状:arrow, turtle, circle, square, triangle, classic。默认"classic"

  如turtle.shape('turtle')

  turtle.hideturtle()

  隐藏画笔的turtle形状

  turtle.showturtle()

  显示画笔的turtle形状

  

  全局控制函数

  函数名

  说明

  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参数也是可选项。字体名称:"Arial"、"宋体"、"楷体"等

  

  

  

例、写字函数write()的使用

  

import turtle

  turtle.penup() #抬起画笔

  turtle.goto(-200,100) #移动位置

  turtle.write("好好学习,天天向上",font=("楷体",36))

  

  其它函数

  

函数名

  

说明

  

turtle.mainloop()

  

  

turtle.done()

  

启动事件循环-调用Tkinter的mainloop函数。

  

必须是乌龟图形程序中的最后一个语句。

  

turtle.mode(mode=None)

  

设置乌龟模式(standard,logo或world)并执行重置。如果没有给出模式,则返回当前模式。

  

模式

  

初始龟标题

  

正角度

  

standard

  

向右(东)

  

逆时针

  

logo

  

向上(北)

  

顺时针

  

turtle.delay(delay=None)

  

设置或返回以毫秒为单位的绘图延迟。

  

turtle.begin_poly()

  

开始记录多边形的顶点。当前的乌龟位置是多边形的第一个顶点。

  

turtle.end_poly()

  

停止记录多边形的顶点。当前的乌龟位置是多边形的最后一个顶点。将与第一个顶点相连。

  

turtle.get_poly()

  

返回最后记录的多边形。

  

  

  

使用Python的turtle(海龟)模块画图步骤

  第一步:让Python引入turtle模块,引入模块就是告诉Python你想要用它。

  

import turtle

  第二步:创建画布,若使用默认可跳过此步。

  第三步:理顺思路,选取函数绘图实现意图,这是最重要的一步,可能需要多次试验。

  下面给出几个例子

  例1、绘制梯形

  

  此梯形绘制在第四象限,所以梯形形每个顶点的坐标中,x坐标为正,y坐标为负。四个点的坐标分别选择为D(100,-100)、E(200,-100)、F(250,-200)、G(50,-200)。可见所绘制的直角三角形DE=100,GF=200。由于D点的y坐标与E点的y坐标相等,所以,DE平行于x轴,由于G点的y坐标与F点的y坐标相等,所以,GF也平行于x轴。代码为:

  

import turtle

  turtle.up()

  turtle.fillcolor(yellow)

  turtle.begin_fill()

  turtle.goto(100,-100)

  turtle.down()

  turtle.goto(200,-100)

  turtle.goto(250,-200)

  turtle.goto(50,-200)

  turtle.goto(100,-100)

  turtle.end_fill()

  

  思考一下,如何将梯形绘制在正中间?

  例2、使用circle()函数的例子

  

import turtle

  turtle.pencolor("red")

  turtle.circle(50) #整圆

  turtle.pencolor("blue")

  turtle.circle(120, 180) #半圆

  turtle.pencolor("green")

  turtle.circle(80,steps=3) #三角形

  

  例3、画五角星

  

import turtle 

  turtle.pensize(5)

  turtle.pencolor("yellow")

  turtle.fillcolor("red")

  turtle.begin_fill()

  for i in range(5):

   turtle.forward(200)

   turtle.right(144)

  turtle.end_fill()

  turtle.hideturtle()

  

  

  

  

总结

  到此这篇关于Python中turtle绘图模块的文章就介绍到这了,更多相关Python中turtle绘图模块内容请搜索盛行IT软件开发工作室以前的文章或继续浏览下面的相关文章希望大家以后多多支持盛行IT软件开发工作室!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • python语言基本语句用法总结大全,python语言基本语句用法总结怎么写
  • python语言基本语句用法总结大全,python语言基本语句用法总结怎么写,python语言基本语句用法总结
  • python是一种什么类型的计算机语言,python语言是一种什么类型的编程语言
  • Python的保留字符,python语言中的保留字
  • python的指数e怎么表示,指数函数在python语言中怎么表示
  • python语言合法的变量命名,在python中变量的命名要注意哪些问题
  • python变量命名可以用中文吗,下面哪一个不是python语言合法的变量命名
  • Python分词库,用python语言中文分词第三方库jieba对文件data
  • python中复数类型的实部和虚部都是浮点数,python语言中,复数类型中实数部分和虚数部分
  • 用python语言判断一个数是否为素数,Python判断是不是素数
  • python语句变量命名规则,python语言命名变量规则
  • 简述python语言程序的特点,以下关于python语言技术特点
  • matlab中for循环的用法例子,python语言for循环语句
  • Python主网站,python语言的官方网站
  • 用python开发的软件有哪些,哪些工具可以使用python语言开发软件
  • 留言与评论(共有 条评论)
       
    验证码: