turtle模块主要使用两个类,一个是TurtleScreen类,表示画布(窗口),用来展示画的位置;一个是Turtle类,用来充当画笔,用来画。

两个类的方法也以同名的函数的形式存在,所以可以以面向过程的形式编程。但当需要多个Turtle对象的时候,其它的Turtle对象就必须以面向对象的形式编程了。

一、Turtle(画笔)的方法

1.forward(distance)|fd(distance)  正值表示向前运行,负值相当于backward()

2.backward(distance)|bk(distance)

3.setheading(angle)   设置乌龟朝向

4.goto(x,y)  直接移动到坐标(x,y)位置

5.left(angle)|lt(angle) 左转多少度,负值表示右转

6.right(angle)|rt(angle) 右转多少度

7.speed(x) 设置绘制的速度

8.circle(radius,angle,steps) 画圆,radius为正值,逆时针画圆弧,angle表示弧度大小,steps表示画出把圆弧分成steps份的多边形。

9.dot(radius,color)画点,半径radius,颜色color

10.home()画笔位置和方向回到初始状态

11.stamp()复制一个turtle,并在下一个turtle的位置显示,该函数返回一个标识代表复制的turtle,用clearstamp()删除

几个比较难理解的方法:

shape(appearance) 设置当前turtle的形象

resizemode(rmode) 设置turtle形象是否可调整。有三个模式:auto user noresize。其中user比较有意思,该模式可以条件turtle的长宽,外部轮廓线粗细,shear(扭曲度)

tilt(angle) 在当前龟头方向基础上转向angle角度(但不改变运动朝向)

settiltangle(angle)在原始方向基础上改变angle角度。

实践

1.注册一个turtle图像:

begin_poly()

fd(10)

lt(90)

fd(10)

end_poly()

p=get_poly()

register_shape('newshap',p)

这样就注册了一个新的turtle形象

可以通过shape('newshap')改变turtle的形象。

2.注册一个图形:

类Shape(mode,data)

参数1:‘polygon'、‘image'、'compound',分别表示图形是多边形,图片和复合图形

参数2:描述poly,image的数据,如((1,2),(4,5))和’flower.jpg',‘compound'不需要

当mode为‘compound’时,通过addcompound(poly,color,fillcolor)添加复合图形的组合元素。

s=Shape(mode,data)

register_shape('comp',s)

3.调用ontimer(f,time)

def f():

  fd(20)

  lt(30)

  ontimer(f,240)

f()

ontimer必须写在函数内,进行循环调用,才能起到效果。

4.两个输入接口:

textinput(title,promt)

numinput(title,promt,default,min,max)

5.输出字符:

turtle.write(arg, move=False, align="left", font=("Arial", 8, "normal"))

绘图工具--turtle模块的更多相关文章

  1. Python绘图工具turtle库的使用

    #PythonDraw.py import turtle #引入了一个绘图库(海归库) turtle.setup(650,350,200,200) #设置一个窗体 turtle.penup() #将画 ...

  2. 海龟绘图turtle模块的使用

    在本章中,我们将编写简短的.简单的程序来创建漂亮的.复杂的视觉效果.为了做到这一点,我们可以使用海龟作图软件.在海龟作图中,我们可以编写指令让一个虚拟的(想象中的)海龟在屏幕上来回移动.这个海龟带着一 ...

  3. Python绘图工具Plotly的简单使用

    1.Plotly被称为史上最好的绘图工具之一,为了更好的展示金融数据的复杂性. Plotly的官方网站为:https://plot.ly/ python量化的关键是金融数据可视化,无论是传统的K线图, ...

  4. #18 turtle模块

    前言 这一节继续记录模块,本节将记录Python中一个非常重要的画图模块——turtle,Here we go! 一.turtle模块 turtle(海龟)模块是Python中强大的内置画图模块,可以 ...

  5. 一个用于提取简体中文字符串中省,市和区并能够进行映射,检验和简单绘图的python模块

    简介 一个用于提取简体中文字符串中省,市和区并能够进行映射,检验和简单绘图的python模块. 举个例子: ["徐汇区虹漕路461号58号楼5楼", "泉州市洛江区万安塘 ...

  6. Python turtle 模块可以编写游戏,是真的吗?

    1. 前言 turtle (小海龟) 是 Python 内置的一个绘图模块,其实它不仅可以用来绘图,还可以制作简单的小游戏,甚至可以当成简易的 GUI 模块,编写简单的 GUI 程序. 本文使用 tu ...

  7. UML系列01之 UML和绘图工具Visio介绍

    概要 UML,全称是Unified Modeling Language,中文是"统一建模语言".通俗点说,UML是一种创建模型的语言.UML是在开发阶段,说明,可视化,构建和书写一 ...

  8. 用MSoffice里的绘图工具

    试过一些绘图表的工具,在xbeta推荐的替代visio一文中介绍的一些软件.之前用得最多的就是Dia,在linux下也有.现在才发现在微软的office下的绘图工具已经足够我使用了,不需要专业的图形符 ...

  9. 一起来画画!8款最佳HTML5绘图工具

    HTML5无疑是当前最受宠的一项技术,今天推荐8款HTML5绘图工具,同样惊艳你的眼球!这些绘图工具大多数是用HTML5画布(Canvas)实现的,部分辅以Javascript.对每一个web设计者来 ...

随机推荐

  1. sql exist 优化查询时间

    1.非exist,查询需要20多秒 2.使用exist后 3.表连接也能优化

  2. C#通过代码彻底结束桌面进程explorer,解决自动重启问题

    C# 通过代码 Process.Kill 方法杀死桌面进程后,会自动重启 其实可以通过 Taskkill 指令结束桌面进程, 在命令行查看 taskkill 帮助, TASKKILL [/S syst ...

  3. sql server 字符串函数大全

    平常会用到一些函数处理字符串,用的不算频繁,所以每次用到的时候就忘记了,这次在网上找了一篇文档,担心突然某一天这篇文章找不到了,然后就把文章的内容复制了一份: /* 1,ASCII返回字符表达式中最左 ...

  4. SecureCRT的Home+End+Del键映射

    在securecrt界面:工具 → 键映射编辑器,在弹出的键盘中: 1.点击“home”,会弹出一个窗口,在“发送字符串”中输入:\033[1~ 2.点击“end”,会弹出一个窗口,在“发送字符串”中 ...

  5. python的进程和线程

    关于进程: An executing instance of a program is called a process.程序的执行实例称为进程. Each process provides the ...

  6. sgu 1348 Goat in the Garden 2【点到线段的距离】

    链接: http://acm.timus.ru/problem.aspx?space=1&num=1348 http://acm.hust.edu.cn/vjudge/contest/view ...

  7. Nginx教程

    Nginx教程 1.背景 介绍 Nginx是一个高性能的HTTP服务器,以及反向代理服务器 组成 Ngnix有内核和模块组成.微结构的内核根据配置文件将一个请求映射到一个location块中,该loc ...

  8. output value . Sigmoid neurons are similar to perceptrons, but modified so that small changes in their weights and bias cause only a small change in their output.

    http://neuralnetworksanddeeplearning.com/chap1.html . Sigmoid neurons are similar to perceptrons, bu ...

  9. mac 地址分配

    https://regauth.standards.ieee.org/standards-ra-web/pub/view.html#registries 34:96:72:3c:5d:d6mac 地址 ...

  10. ABAP下载xml文件

    [转http://www.cnblogs.com/byfhd/archive/2007/08/17/859829.html] ************************************* ...