python3学习笔记.4.turtle绘图
先放上参考
https://docs.python.org/3/library/turtle.html
//*******************************************************************************
1.画布(canvas)
使用 turtle.setup() | turtle.screensize()
可以设置画布大小、背景颜色以及标题等。
2.画笔
2.1画笔状态
默认画笔在画布中心、宽度为1、方向为水平右、颜色黑色并且下触。
turtle.pensize() | turtle.width() :设置画笔宽度。turtle.speed() :速度,[0:10],越大越快。
2.2绘图控制
a.画笔运动控制
#a.画笔运动命令 turtle.forward(distance)
#向当前画笔方向移动distance像素长度
turtle.backward(distance)
#向当前画笔相反方向移动distance像素长度
turtle.right(degree)
#顺时针移动degree°
turtle.left(degree)
#逆时针移动degree°
turtle.pendown()
#移动时绘制图形,缺省时也为绘制
turtle.goto(x,y)
#将画笔移动到坐标为x,y的位置
turtle.penup()
#提起笔移动,不绘制图形,用于另起一个地方绘制
turtle.circle()
#画圆,半径为正(负),表示圆心在画笔的左边(右边)画圆
setx( )
#将当前x轴移动到指定位置
sety( )
#将当前y轴移动到指定位置
setheading(angle)
#设置当前朝向为angle角度
home()
#设置当前画笔位置为原点,朝向东
dot(r)
#绘制一个指定直径和颜色的圆点 #b.画笔控制命令 turtle.fillcolor(colorstring)
#绘制图形的填充颜色
turtle.color(color1, color2)
#同时设置pencolor=color1, fillcolor=color2
turtle.filling()
#返回当前是否在填充状态
turtle.begin_fill()
#准备开始填充图形
turtle.end_fill()
#填充完成
turtle.hideturtle()
#隐藏画笔的turtle形状
turtle.showturtle()
#显示画笔的turtle形状 #c.全局控制命令 turtle.clear()
#清空turtle窗口,但是turtle的位置和状态不会改变
turtle.reset()
#清空窗口,重置turtle状态为起始状态
turtle.undo()
#撤销上一个turtle动作
turtle.isvisible()
#返回当前turtle是否可见
stamp()
#复制当前图形
turtle.write(s [,font=("font-name",font_size,"font_type")])
#写文本,s为文本内容,font是字体的参数,分别为字体名称,大小和类型;font为可选项,font参数也是可选项 #d.其他命令 turtle.mainloop()或turtle.done()
#启动事件循环 -调用Tkinter的mainloop函数。必须是turtle图形程序中的最后一个语句
turtle.mode(mode=None)
#设置乌龟模式(“standard”,“logo”或“world”)并执行重置。如果没有给出模式,则返回当前模式
'''
模式 初始龟标题 正角度
standard 向右(东) 逆时针
logo 向上(北) 顺时针
'''
turtle.delay(delay=None)
#设置或返回以毫秒为单位的绘图延迟。
turtle.begin_poly()
#开始记录多边形的顶点。当前的乌龟位置是多边形的第一个顶点
turtle.end_poly()
#停止记录多边形的顶点。当前的乌龟位置是多边形的最后一个顶点。将与第一个顶点相连
turtle.get_poly()
#返回最后记录的多边形
//*******************************************************************************
贴上练习代码
import turtle as t def Screen():
#t.setup(width=1024, height=960, startx=100, starty=100)
t.bgcolor("orange")
t.screensize(2000,1500,"#0ffff0")
t.title("Hello!") def Draw0():
t.penup()
t.pensize(5) #pen's width
#t.color("black") #default is black
#t.forward(10)
t.circle(100,steps=3)
t.pendown() #default is down
t.goto(-100,-200)
t.penup() def Draw1():
t.penup()
t.goto(100,100)
t.pendown() #
t.begin_fill()
t.color("yellow")
t.circle(50)
t.end_fill()
t.penup() def Draw2():
t.penup()
t.goto(200,100)
t.pendown()
t.begin_fill() #
t.color("blue") #
t.fillcolor("black") #
t.circle(50)
t.end_fill()
t.penup() '''
turtle.write(arg, move=False, align="left", font=("Arial", 8, "normal"))
Parameters:
arg – object to be written to the TurtleScreen
move – True/False
align – one of the strings “left”, “center” or right”
font – a triple (fontname, fontsize, fonttype)
'''
def Write():
t.penup()
#t.goto(0,0)
#t.write("Color Draw",font=("Times",18,"bold"))
t.write("Home = ",False,align="left")
t.write((0,0),True)
t.clear() def Draw3():
t.penup()
t.setpos(200,200)
t.pendown()
t.pencolor("blue")
t.right(50) #Rotate right
t.forward(100) #
t.dot(10,"red") #
t.left(50+180) #Ritate left
t.color("blue")
t.speed(10)
t.forward(100) def Draw4():
t.penup()
t.goto(100,100)
t.pen(fillcolor="red",pencolor="black",pensize=10)
t.pendown()
t.circle(50)
t.goto(-100,-100)
t.pencolor("#ffff00") #"#%02x%02x%02x" % (r, g, b)
t.width(2)
t.forward(100)
t.left(180) def Draw5():
#t.color("black","red")
#t.begin_fill()
t.speed(10)
t.circle(80)
#t.end_fill()
t.clear()
t.clearscreen()
t.delay(0) def main():
Screen()
#Write()
#while(True):
# Draw5()
Draw4()
#t.mainloop() #stop
#t.bye() #close window
t.exitonclick() if __name__ == "__main__":
main()
python3学习笔记.4.turtle绘图的更多相关文章
- Python3学习笔记(urllib模块的使用)转http://www.cnblogs.com/Lands-ljk/p/5447127.html
Python3学习笔记(urllib模块的使用) 1.基本方法 urllib.request.urlopen(url, data=None, [timeout, ]*, cafile=None, ...
- Python3学习笔记 - 准备环境
前言 最近乘着项目不忙想赶一波时髦学习一下Python3.由于正好学习了Docker,并深深迷上了Docker,所以必须趁热打铁的用它来创建我们的Python3的开发测试环境.Python3的中文教程 ...
- python3学习笔记(7)_listComprehensions-列表生成式
#python3 学习笔记17/07/11 # !/usr/bin/env python3 # -*- conding:utf-8 -*- #通过列表生成式可以生成格式各样的list,这种list 一 ...
- python3学习笔记(6)_iteration
#python3 学习笔记17/07/10 # !/usr/bin/env python3 # -*- coding:utf-8 -*- #类似 其他语言的for循环,但是比for抽象程度更高 # f ...
- python3学习笔记(5)_slice
#python3 学习笔记17/07/10 # !/usr/bin/env python3 # -*- coding:utf-8 -*- #切片slice 大大简化 对于指定索引的操作 fruits ...
- matlab学习笔记9 高级绘图命令_2 图形的高级控制_视点控制和图形旋转_色图和颜色映像_光照和着色
一起来学matlab-matlab学习笔记9 高级绘图命令_2 图形的高级控制_视点控制和图形旋转_色图和颜色映像_光照和着色 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考书籍 < ...
- matlab学习笔记9 高级绘图命令_1 图形对象_根对象,轴对象,用户控制对象,用户菜单对象
一起来学matlab-matlab学习笔记9 高级绘图命令_1 图形对象_根对象,轴对象,用户控制对象,用户菜单对象 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考书籍 <matl ...
- matlab学习笔记8 基本绘图命令-三维绘图
一起来学matlab-matlab学习笔记8 基本绘图命令_6 三维绘图 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考书籍 <matlab 程序设计与综合应用>张德丰等著 ...
- matlab学习笔记8 基本绘图命令-初级二维绘图/交互式绘图
一起来学matlab-matlab学习笔记8 基本绘图命令_5 初级二维绘图/交互式绘图 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考书籍 <matlab 程序设计与综合应用&g ...
随机推荐
- Longest Increasing Subsequence的两种解法
问题描述: 给出一个未排序队列nums,如[10, 9, 2, 5, 3, 7, 101, 18].找出其中最长的增长序列,但不是连续增长序列,如[2, 3, 7, 101]就是对应的最长增长序列LI ...
- linux下安装jenkins
我们不用离线安装方式 第一步.必须验证java环境 第二步.我们这里使用yum命令进行在线安装,使用service命令进行启动 1.wget -O /etc/yum.repos.d/jenkins.r ...
- ZK Leader选举
1.Zookeeper节点状态LOOKING:寻找Leader状态,处于该状态需要进入选举流程LEADING:领导者状态,处于该状态的节点说明是角色已经是LeaderFOLLOWING:跟随者状态,表 ...
- HDU4791_Alice's Print Service
全场最水题. 保留打印a[i]份分别需要的钱,从后往前扫一遍,保证取得最优解. 查找的时候,二分同时判断最小值即可. 注意初值的设定应该设定为long long 的无穷大. #include < ...
- 牛客OI赛制测试赛3 解题报告
前话: 话说考试描述:普及难度. 于是想在这场比赛上涨点信心. 考出来的结果:Point:480 Rank:40 然而同机房的最好成绩是 510. 没考好啊!有点炸心态,D题一些细节没有注意, ...
- python beautifulsoup/xpath/re详解
自己在看python处理数据的方法,发现一篇介绍比较详细的文章 转自:http://blog.csdn.net/lingojames/article/details/72835972 20170531 ...
- 【刷题】洛谷 P3613 睡觉困难综合征
题目背景 刚立完Flag我就挂了WC和THUWC... 时间限制0.5s,空间限制128MB 因为Claris大佬帮助一周目由乃通过了Deus的题,所以一周目的由乃前往二周目世界找雪辉去了 由于二周目 ...
- 网络对抗课题4.3.1 SQL注入原理与实践
网络对抗课题4.3.1 SQL注入原理与实践 原理 SQL注入漏洞是指在Web应用对后台数据库查询语句处理存在的安全漏洞.也就是,在输入字符串中嵌入SQL指令,在设计程序中忽略对可能构成攻击的特殊字符 ...
- 使用EntitysCodeGenerate
http://bbs.csdn.net/topics/360256700 public DataSet xxx(DateTime start, DateTime end, string type) ...
- springcloud的分布式配置Config
1.为什么要统一配置管理? 微服务由多个服务构成,多个服务多个配置,则对这些配置需要集中管理.不同环境不同配置,运行期间动态调整,自动刷新. 统一管理微服务的配置:分布式配置管理的一些组件: zook ...