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. java代码连接本地redis数据库

    关于redis的介绍在这里就不说了.今天主要讲解,如何连接redis.连接之前.必须要做的几点: 一.安装redis.下载服务和客户端,然后 二.启动redis服务. 经过这两步的测通以后.我们只需要 ...

  2. 承载(Host)通用语言执行时

    承载(Host)通用语言执行时(CLR) 还有一种使用COM 的方法是是把须要集成的 F# 代码与已有的 C/C++ 应用程序集成到一起.开成自己定义的承载通用语言执行时.通用语言执行时就是 C++ ...

  3. 用C#来学习唐诗三百首和全唐诗

    Begin 最近把项目做完了,闲来无事,就想做点好玩的事情,刚好前几天下载了[唐诗三百首]和[全唐诗]这两个txt文件,正好用C#来整理一下. 然后导出QData格式,可以给其他软件读取. 以后弄个开 ...

  4. Unity3d监听手机暂停与退出事件

    做移动互联网类型的开放,很多情况得考虑移动设备的暂停与退出时,做某些数据操作或UI. 1,退出事件,Unity3d,InPut就包含了: Input.GetKey(KeyCode.Escape) .  ...

  5. City Game(最大子矩阵)

    Bob is a strategy game programming specialist. In his new city building game the gaming environment ...

  6. 记录-MySQL中的事件调度Event Scheduler

    下面是自己的实例 /*查询event是否开启(查询结果Off为关闭 On为开启)*/show variables like '%sche%'; /*开启/关闭命令(1开启--0关闭)*/set glo ...

  7. JAVA面试题——JAVA编程题1(2015.07.22)

    实现代码很简单:   package com.xiaozan.shopping;   import java.util.Arrays;   public class ShoppingCart {    ...

  8. nginx学习之压缩解压篇(七)

    1.简介 压缩响应可以减少传输数据的大小,节省带宽.但过多的压缩会造成很大的处理开销.在发送给客户端之前,nginx会对响应做压缩,但是如果后端服务器已经 压缩过了,nginx就不再压缩. 2.开启压 ...

  9. 聊聊数据库~5.SQL运维上篇

    1.6.SQL运维篇 运维这块逆天只能说够用,并不能说擅长,所以这篇就当抛砖之用,欢迎补充和纠错 PS:再说明下CentOS优化策略这部分的内容来源:首先这块逆天不是很擅长,所以主要是参考网上的DBA ...

  10. nc传文件

    nc传文件 先启动接收方 nc -l -p 9999 > index.lua 后启动发送方 nc 192.168.1.1 9999 < index.lua