实例:绘制一条蟒蛇

#turtle:绘图库(海龟库)
import turtle
turtle.setup(650,350,200,200)
turtle.penup()
turtle.fd(-250)
turtle.pendown()
turtle.pensize(25)
turtle.pencolor("purple")
turtle.seth(-40)
for i in range(4):
turtle.circle(40,80)
turtle.circle(-40,80)
turtle.circle(40,80/2)
turtle.fd(40)
turtle.circle(16,180)
turtle.fd(40*2/3)
turtle.done()

turtle库:入门级图形绘制库,标准库

  turtle绘图体系的python实现

  一只turtle在画布上游走,画布单位是像素

  文档链接:https://docs.python.org/3/library/turtle.html

绘图窗体相对于屏幕的位置:  

turtle.setup(width,height,startx,starty)#绘图窗体的大小和位置,不是必须的

turtle.setup(width,height)#绘图窗体默认在屏幕中间

坐标体系:

空间坐标体系:

  绝对坐标:初始位置在画布的正中心

     设置海龟爬行目的地:turtle.goto(100,100)

  

  海龟坐标:对于海龟自身视角而言

    改变海龟爬行方向:

    turtle.circle(r,angle)

    turtle.bk(d)#后退d

    turtle.fd(d)#前进d

  

角度坐标体系:

  改变海龟的行进角度

  绝对角度:相对于画布上是x轴

    turtle.seth(45)

  

  海龟角度:相对于海龟当前面向

    turtle.left(angle)

    turtle.right(angle)

  

色彩体系 

turtle是RGB色彩体系(默认采用小数值)

turtle.colormode(mode) #mode=1.0小数值,mode=255整数值

turtle.colormode(1.0)
turtle.pencolor(1,1,0.4)

 turtle库的语法元素分析

import

from 库 import 函数(*)#不用在前面加库名,但会导致函数名冲突

import 库 as 库的小名  #重新命名为简单的库名,常用

画笔控制函数

画笔操作后一直有效,一般成对出现turtle.penup() turtle.pendown()

画笔大小 turtle.pensize(width) = turtle,width(width)

画笔颜色 turtle.pencolor(color) #color为rgb或字符串,rgb元组值:

    (1,0.1,0.3) (“white”)((1,3,233))

运动控制函数:使海龟爬起来——画出线

运动路径函数(直线与曲线)

  turtle.forward(d) = turtle.fd(d)    #向前行进,d为负时倒退着行进

  turtle.circle(r,extent=none)    #曲线半径,圆心在海龟左侧r处,默认走整个圈

方向控制函数:绝对角度&相对角度

  只改变海龟转向!!

  绝对角度:相对于绝对坐标系中的x轴

    turtle.setHeading(angle) = turtle.seth(angle)

  相对角度:相对于海龟当前面向

    turtle.left(angle)

    turtle.right(angle)

 

 其他函数:

  speed(数字或者后面的保留字):设置绘制速度;“fastest”: 0  “fast”: 10 “normal”: 6 “slow”: 3 “slowest”: 1

    #注意 0 为最快【1,10】成山峰型 10以上则依然为最快,而且数字可以是浮点数

  clear():清空笔迹

  hideturtle():隐藏海龟

  

  

  

  

 

  

python课程设计笔记(三)turtle绘图库(海龟库)的更多相关文章

  1. python课程设计笔记(五) ----Resuests+BeautifulSoup (爬虫入门)

    官方参考文档(中文版): requests:http://docs.python-requests.org/zh_CN/latest/user/quickstart.html beautifulsou ...

  2. python课程设计笔记(四)整数、浮点数与字符串 time库

    整数类型(范围无限制) 十进制1 -1 二进制0b1 -0b1 八进制0o1 -0o1 十六进制0x1 -0x1 浮点类型(范围有限制但可忽略) 运算存在不确定尾数 :0.1+0.2!=0.3 原因: ...

  3. python课程设计笔记(二)破冰基本语法

    python两种编程方式:交互式与文件式 交互式:语法练习,输一条运行一条 文件式:通用,执行一组语句 注释 #单行注释  ...XXXXX...多行注释 逻辑 没有大括号,按缩进确定逻辑——缩进格数 ...

  4. python课程设计笔记(一)开发环境配置

    今天开始学python,一个月后交成果?还是希望自己不要浮躁,认真地去学,有所付出也不期望太大回报. 现在还是一脸懵逼的状态,看着教程一点点来吧= = 毕竟我是最棒的最发光的阳光彩虹小白马! 1. 去 ...

  5. 【原】Learning Spark (Python版) 学习笔记(三)----工作原理、调优与Spark SQL

    周末的任务是更新Learning Spark系列第三篇,以为自己写不完了,但为了改正拖延症,还是得完成给自己定的任务啊 = =.这三章主要讲Spark的运行过程(本地+集群),性能调优以及Spark ...

  6. Python课程设计 搭建博客

    安装包Github地址 Python综合设计 233博客 注意还有个email文件是需要填入自己信息的,比如最高权限账号和要发送邮件的账号密码 请安装Python2.7环境,本服务器所用环境为 设置环 ...

  7. Android课程设计第三天帧动画区间动画

    注意:课程设计只为完成任务,不做细节描述~ 点火是帧动画,发射是区间动画,于是 <?xml version="1.0" encoding="utf-8"? ...

  8. Python内置Turtle绘图库方法简介+多案例

    urtle库是Python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x.纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行的 ...

  9. [基础]斯坦福cs231n课程视频笔记(三) 训练神经网络

    目录 training Neural Network Activation function sigmoid ReLU Preprocessing Batch Normalization 权重初始化 ...

随机推荐

  1. day8 面向对象编程基础

    活在当下的程序员应该都听过“面向对象编程”一词,也经常有人问能不能用一句话解释下什么是“面向对象编程”,我们先来看看比较正式的说法. 把一组数据结构和处理它们的方法组成对象(object),把相同行为 ...

  2. Git server出现cache大回收分析

    实例 git server是一个io密集型的服务,当cache量很大的时候,cache会全部一次释放,导致那么一瞬间,IO read压力很大,因为,用户的大量请求,需要重新从磁盘读到内存,但是这个时刻 ...

  3. grunt入门 出处:http://artwl.cnblogs.com

    grunt-contrib-uglify uglify是一个文件压缩插件,项目地址:https://github.com/gruntjs/grunt-contrib-uglify 本文将以一个DEMO ...

  4. layui 导出excel复杂表头

    众所周知 layui的导出功能很好用,但是今天我要给大家推荐一个更好用的 大家来到这里想必也是因为layui无法满足 [导出Excle复杂表头] 的业务需求而来,这里废话不多说但还是强调一点,如果你是 ...

  5. 只读事务(@Transactional(readOnly = true))的一些概念

    念:从这一点设置的时间点开始(时间点a)到这个事务结束的过程中,其他事务所提交的数据,该事务将看不见!(查询中不会出现别人在时间点a之后提交的数据) 应用场合: 如果你一次执行单条查询语句,则没有必要 ...

  6. Java 中 synchronized的用法详解

    Java语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码. 1.方法声明时使用,放在范围操作符(public等)之后,返回类型声明(void等)之 ...

  7. eclipse jvm调优

    1.初始参数 -Xms256m-Xmx1024m 2.在eclipse.ini中加入,注意一点的是D:/soft/eclipse-jee,这个目录必须存在,启动时并不会自动目录 -verbose:gc ...

  8. Maven错误:[ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?的解决方法

    错误: [ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE rather tha ...

  9. CSDN日报20170423 ——《私活,永远挽救不了自己屌丝的人生!》

    [程序人生]私活,永远挽救不了自己屌丝的人生! 作者:北漂周 大多数接私活的人.是压根不知道下班后的时间他能够干什么!看剧?追星?逛街?当然,与这些对照,私活是一个更好的选择. 假设有这个时间,为什么 ...

  10. [Javascript] Highlights from IO18 Javascript new features

    Latest Javascript features, not supported by all broswers, but can use with babel. # try-catch-final ...