实例:绘制一条蟒蛇

#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. jquery.datatable.js实际运用

    $.dataTablesSettings = { deferRender: true,// 当处理大数据时,延迟渲染数据,有效提高Datatables处理能力 bStateSave: true,//表 ...

  2. Doxyfile中插入图片

    下面讲一下如何在doxyfile中插入图片 在查看别人写的文档的过程中,看到可以在doxyfile中插入图片,对此十分的好奇,所以拿出来研究一下 那么这是如何实现的? 根据代码,可以看到如下的注释 @ ...

  3. 【剑指Offer】63、数据流中的中位数

      题目描述:   如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值.如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平 ...

  4. Bootstrap关于表单控件(Radio,CheckBox)

    表单控件(复选框checkbox和单选择按钮radio) Bootstrap框架中checkbox和radio有点特殊,Bootstrap针对他们做了一些特殊化处理,主要是checkbox和radio ...

  5. 【codeforces 793D】Presents in Bankopolis

    [题目链接]:http://codeforces.com/contest/793/problem/D [题意] 给你n个点, 这n个点 从左到右1..n依序排; 然后给你m条有向边; 然后让你从中选出 ...

  6. js setTimeout函数

    最近在看JS DOM编程艺术,在第十章的动画里面有个setTimeout函数的例子中涉及了很多的引号,研究了好大一会才看明白,综合网上各个大神的解释和自己的理解,其原理是这样的: 首先看下程序源代码: ...

  7. Redis容量及利用计划

    在利用Redis过程当中,咱们发明了很多Redis分歧于Memcached,也差别于MySQL的特点.(本文首要会商Redis未启用VM撑持环境) 1. Schema MySQL: 需事先设计Memc ...

  8. [bzoj3389][Usaco2004Dec]Cleaning Shifts安排值班_最短路

    Cleaning Shifts bzoj-3389 Usaco-2004Dec 题目大意:每天有n个时间段,每个时间段都必须安排一个奶牛值班.有m个奶牛,每个奶牛只有一个空闲时间s[i]~e[i],求 ...

  9. 洛谷——P1002 过河卒||codevs——T1010 过河卒

    https://www.luogu.org/problem/show?pid=1002#sub||http://codevs.cn/problem/1010/ 题目描述 棋盘上A点有一个过河卒,需要走 ...

  10. ionic3中使用自定义配置

    新工作接触了ionic,以前没用过,只是离职前短暂接触过类似的vuex,到需要修改公司项目的时候临时差什么学什么,其中一个是自定义配置项 配置是很常见的设置,之前用的thinkphp的配置很清晰,基本 ...