turtle的简单绘图
接触python,就发现python是⼀门很有趣的课程。往往只需要利⽤⼏⾏简单的代码,就能绘制出简单漂亮的图案。毫不夸张的说,掌握好turtle库,就能绘制⼀整⽚蓝图。有时候,当我们遇到⼀些对称图形的时候,利⽤ for  in  循环语句,也能达到很好的效果。我们先了解⼀些关于turtle库的基本函数。
turtle库的基本函数:
⼀、绘图窗⼝设置命令
①turtle.setup(width,height,starty,starty)  注:(starty,starty)指的是绘图窗体左上⾓位置的坐标,这两个参数可选,若为空,则窗⼝位于屏幕中⼼
turtle.setup(100,100)
turtle.setup800, 800, 100,100)
②turtle.screensize(canvwidth=None, canvheight=None, bg=None)    参数分别为画布的宽(单位像素), ⾼, 背景颜⾊注:若括号为空,则默认值为(400,300)
turtle.screensize(400, 300, "red")
⼆、坐标体系
(1)空间坐标体系
①(x,y):直接跳转到(x,y)点,以绘图窗⼝中⼼为原点,向右为x轴,向上为y轴。
②turtle.fd(d)、turtle.forward(d):以当前⽅向,往前⾏进d像素。
python代码画图案③turtle.bk(d)、turtle.backword(d):保持当前⽅向不变,往后退⾏d像素。
④turtle.circle(r,angle):从当前位置以r为半径圆的angle⾓度旋转。
(2)⾓度坐标体系
①turtle.setheading(angle)也可简写为turtle.seth()    表⽰海龟改变⾏进⾓度,但不运动。绘图窗体以x轴为起点,将⽅向偏转为angle度,逆时针为正。
②turtle.left(angle):在当前⾏进⽅向的基础上,向左旋转angle度。
③turtle.right(angle):在当前⾏进⽅向的基础上,向右旋转angle度。
(3)画笔控制命令
①turtle.penup()  表⽰抬笔
instrument读音发音turtle.pendown()  表⽰落笔
②turtle.pensize(x)  表⽰画笔宽度
③turtle.pencolor(颜⾊名red/RGB三元组/颜⾊编码)  表⽰画笔颜⾊  e.g.turtle.pencolor("red")  画笔为红⾊  lormode(mode)
④turtle.fillcolor(colorstring):绘制图形的填充颜⾊
turtle.begin_fill():开始填充
学生管理系统
turtle.done()  写在末尾,程序运⾏完不会退出
注意:写代码之前要引⼊turtle库。
import turtle
图形绘制:⼀箭穿⼼
⼀、绘制⼀个爱⼼
import turtle
turtle.pensize(2)
turtle.pendown()
turtle.seth(150)
turtle.begin_fill()
turtle.fd(40)
turtle.circle(40 * -3.745, 45)
turtle.circle(40 * -1.431, 165)
turtle.left(120)
turtle.circle(40 * -1.431, 165)
datastore
turtle.circle(40 * -3.745, 45)
turtle.fd(40)
效果如图
⼆、绘制箭
turtle.pensize(5)
turtle.pencolor("black")
turtle.seth(100)
turtle.penup()
turtle.fd(90)
turtle.pendown()
turtle.seth(75)
turtle.fd(20)
turtle.seth(-155)
turtle.fd(20)
turtle.seth(25)
turtle.penup()
turtle.fd(20)
turtle.pendown()
turtle.seth(-130)
turtle.fd(120)
turtle.fillcolor("black") turtle.begin_fill()
turtle.seth(180)
turtle.fd(10)
turtle.seth(50)
turtle.fd(15)
turtle.seth(0)
turtle.fd(10)
turtle.seth(-80)
turtle.fd(10)
turtle.seth(-130)
turtle.fd(15)
turtle.seth(100)
turtle.fd(10)
 三、将两者组合起来import turtle
turtle.pendown()
turtle.seth(150)
turtle.begin_fill()
turtle.fd(40)
turtle.circle(40 * -3.745, 45) turtle.circle(40 * -1.431, 165) turtle.left(120)
turtle.circle(40 * -1.431, 165) turtle.circle(40 * -3.745, 45) turtle.fd(40)
turtle.pensize(5)
turtle.pencolor("black") turtle.seth(100)
turtle.penup()
turtle.fd(90)
turtle.pendown()
turtle.seth(75)
turtle.fd(20)
turtle.seth(-155)
turtle.fd(20)
turtle.seth(25)
turtle.penup()
turtle.fd(20)
turtle.pendown()
turtle.seth(-130)
turtle.fd(120)
turtle.fillcolor("black") turtle.begin_fill()
turtle.seth(180)
turtle.fd(10)
turtle.seth(50)
turtle.fd(15)
turtle.seth(0)
catch和grab的区别turtle.fd(10)
turtle.seth(-80)
turtle.fd(10)
turtle.seth(-130)
turtle.fd(15)
turtle.seth(100)
turtle.fd(10)
欧卡教程网效果如图
掌握了turtle库之后,我们可以根据⾃⼰的想法,画出更复杂,更漂亮的图画。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。