当前位置:   article > 正文

Python易学就会(四)turtle绘图入门--高级篇

定义函数quan(),实现用turtle直指定半径的园;循环调用函数quan(),分别直半径

  到目前为止我们通过turtle库了解了Python的基本语法,包括顺序与循环、函数的调用与方法的定义、列表与简单的数学运算等;也学习了用turtle库绘图的基本用法,包括坐标与角度、落笔抬笔、颜色与填充等。

  但是我们所绘的所有内容仅限于直线,对于曲线的绘制,一直没有涉及。从现在开始,我们就来了角一下用turtle库怎么画曲线,首先我们来画一个圆,看代码:

  1. import turtle as t
  2. t.circle(100) # 画一个半径为100的圆
  3. t.mainloop() # 等效于t.done()

  运行这个例子,我们可以看到,turtle从坐标原点开始,按逆时针方向画出了一个圆。非常简单,一条语句就实现了。

  第一个问题是,如果有希望turtle按顺时针方向画,应该怎样实现?嗯,将t.circle(100)中的参数100改为-100即可,也就是t.circle(-100)。也就是说明这个参数除了表示圆的半径面,其正负性还定义了画圆的方向。修改一下上面的代码:

  1. import turtle as t
  2. t.circle(100) # 从原点开始按逆时针方向画圆,直径为100
  3. t.circle(-100) # 从鼠标所在点开始按顺时针方向画圆,直径为100
  4. t.mainloop()

  运行这段代码,可以看到turtle在界面上画出一个8字形,先逆时针方向画圆,再顺时针方向画圆。可以看到turtle画这两个圆中的第一个时,相当于从圆的下底开始画(也即圆的-90度位置);画第二个圆相当于从上顶位置开始画(也即90度的位置)。

  那么,第二个问题来了,如果我希望从圆的0度位置开始画,或者180度位置开始画,应该怎么操作?修改一下上面的实例代码:

  1. import turtle as t
  2. t.setheading(90) # 设置turtle的方向为正北(向上)方向
  3. t.circle(100) # 逆时针画
  4. t.circle(-100) # 顺时针画
  5. t.mainloop()

  运行一下例子,可以看到,第一个圆是从0度位置开始画的,而第二个圆是从180度位置开始画的。通过这个小改动,我们可以看到,turtle画圆时,没有明确的“圆心”概念,而是以“初始方向+半径”来决定一个圆的位置和大小。其核心原理等同于割圆术。

  接下来,我们来看一下怎样画一段弧线,而不是完整的圆。t.circle()的第一个参数是半径,第二个参数就是圆弧的角度,默认是360度。修改一下上面的例子:

  1. import turtle as t
  2. t.setheading(90)
  3. t.circle(100, 120) # 画一段120度的弧线
  4. t.penup() # 抬起笔来
  5. t.goto(0, 0)
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/117067
推荐阅读
相关标签
  

闽ICP备14008679号