实例:绘制一条蟒蛇

#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. js document 触发按键事件

    // 键盘控制 var keyEvent = (function () { document.onkeydown = function (e) { if (e.keyCode === 38) { // ...

  2. tomcat ider配置

    xml文件配置: <servlet> <servlet-name>test1</servlet-name>//设定java文件链接的锚点 <servlet-c ...

  3. Shell 环境变量也是变量

    跟定义普通变量一样,语法是 变量名=值,只不过这个名字叫 PATH,值是路径 shell PATH=/usr/local/python-2.7.6/bin 导入的话使用export命令 shell e ...

  4. icheck使用

    1.使用: <link rel="stylesheet" href="css/skins/all.css">或者<link rel=" ...

  5. day001 Python 计算机基础(2019年5月16日)

    &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp作为一名程序员或者即将踏入IT行业的准程序员,学习任何一门编程语言,都需要有基本的计算机基础 ...

  6. 洛谷P1101 单词方阵【DFS】

    给一n \times nn×n的字母方阵,内可能蕴含多个"yizhong"单词.单词在方阵中是沿着同一方向连续摆放的.摆放可沿着 88 个方向的任一方向,同一单词摆放时不再改变方向 ...

  7. shell脚本中source无效

    发现在shell里面执行source,提示找不到命令.所以,我取搜了一些资料,总结一下. 一. 脚本中,source找不到命令--------------是因为用了sh执行脚本,而debian系统的s ...

  8. ecshop中{$lang.}标签的修改

    {$lang.}之类的文字都是在语言包里边定义的,所以要修改这些文字的话,我们只需要修改语言包里的文件.首先需要看一下你使用的语言是哪种,如果是中文的话,修改  languages/zh_cn/com ...

  9. NOIP2017总结与反思

    手动博客搬家: 本文发表于20180213 00:01:05, 原地址https://blog.csdn.net/suncongbo/article/details/79319556 //由于12月生 ...

  10. mysql优化sql语句

    mysql优化sql语句   常见误区   www.2cto.com   误区1:   count(1)和count(primary_key) 优于 count(*)   很多人为了统计记录条数,就使 ...