Python学习笔记 五 (turtle绘图体系绘图练习)

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)

貌似有点圆了。。。
在这里插入图片描述

三、总结
  1. 在这幅图的绘制中我使用到了setup()来设置绘图窗体的大小。
  2. 使用fd() (forward()的简写)来画直线。
  3. 使用circle()来画整圆或部分圆。
  4. 使用penup() 、pendown()来起、落画笔。
  5. 使用goto()为下一次落笔找地方(绝对坐标)。
  6. 使用left() 、right()、setheading()来设置“海龟角度”。
  7. 在绘制过程中可以画完一部分然后通过得到的效果来进行调整。
  8. 在初学时注释很重要。

注意: left()、right()是从“海龟”的角度来转向的,每一次转向都是在转向前角度的基础上进行的,而setheading()设置的是绝对角度和设置角度时“海龟”的方向无关。

待续…

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值