Python学习笔记 五 (turtle绘图体系绘图练习)
在学习了Python中的turtle绘图体系后,通过下面的绘图练习来加深对turtle库的掌握,希望能对你我有益。
目录
- 对所绘制图形进行简单分析
- 绘制图形
- 总结
一、对所绘制图形进行简单分析
我所练习绘制的图片选的是《美人鱼》电影中警察所画美人鱼的简单版,通过图片结构我知道了大概需要哪些代码,首先图片大致是由曲线和直线组成,椭圆我可以使用两个半径不同的圆进行代替,部分小弯曲我可以简略的由直线代替,通过这样我基本可以绘制出这幅画。
二、绘制图形
以下是我依照这幅图所写绘制代码
#绘图练习
import turtle as t
t.setup(500,500,100,100)
t.penup()
t.fd(-200)
t.left(90)
t.pendown()
t.circle(-200, 180)
t.circle(-250,60)
t.right(90)
t.fd(150)
t.right(10)
t.fd(-140)
t.right(95)
t.fd(30)
t.penup() #画下部分另一半
t.goto(-200,0)
t.setheading(90)
t.circle(-200,180)
t.goto(-200,0) #确定另一半角度
t.pendown()
t.circle(250,60)
t.left(90)
t.fd(150)
t.left(10)
t.fd(-140)
t.left(95)
t.fd(30)
t.penup()
t.goto(-200,0) #画分界线
t.setheading(30)
t.pendown()
t.circle(-400,60)
t.penup() #画下部分眼睛
t.goto(-200,-50)
t.setheading(0)
t.fd(50)
t.pendown()
t.left(90)
t.pensize(5)
t.circle(-1,360)
t.penup() #画眼睛外框
t.setheading(0)
t.fd(-10)
t.left(90)
t.pendown()
t.pensize(5)
t.circle(-11,360)
t.penup() #画上部分眼睛眉毛
t.goto(-90, 140)
t.pendown()
t.pensize(1)
t.circle(-20,170)
t.penup() #另一个眉毛
t.goto(60, 140)
t.pendown()
t.setheading(90)
t.circle(-20,170)
t.penup() #画上部分眼睛
t.goto(-70,120)
t.pendown()
t.circle(-5,360)
t.penup()
t.goto(80,120)
t.pendown()
t.circle(-5,360)
t.penup() #画鼻子
t.goto(0,100)
t.pendown()
t.setheading(45)
t.fd(-10)
t.right(45)
t.fd(10)
t.penup() #画嘴巴
t.fd(30)
t.pendown()
t.right(90)
t.circle(-30,180)
貌似有点圆了。。。
三、总结
- 在这幅图的绘制中我使用到了setup()来设置绘图窗体的大小。
- 使用fd() (forward()的简写)来画直线。
- 使用circle()来画整圆或部分圆。
- 使用penup() 、pendown()来起、落画笔。
- 使用goto()为下一次落笔找地方(绝对坐标)。
- 使用left() 、right()、setheading()来设置“海龟角度”。
- 在绘制过程中可以画完一部分然后通过得到的效果来进行调整。
- 在初学时注释很重要。
注意: left()、right()是从“海龟”的角度来转向的,每一次转向都是在转向前角度的基础上进行的,而setheading()设置的是绝对角度和设置角度时“海龟”的方向无关。
待续…