Python | turtle.right与turtle.setheading的区别

  • 内容
  • 相关

一、概念

turtle.right与turtle.left用法一致,我们以turtle.right为例进行讲述。

turtle.right(angle)向右旋转angle角度。

turtle.setheading(angle)设置当前朝向为angle角度。

二、举例

从概念上并不能准确的得知他们有怎样的区别,那我们以三角形为例,看看他们究竟有什么不同。

运行此代码。

将turtle.setheading换成turtle.right

运行后:

为什么会这样呢,从概念上我们也只是得知可以将小乌龟旋转一个角度,那么究竟是怎样旋转的呢?

三、区别

turtle.setheading(angle)在旋转一个角度后(angle为正,逆时针旋转,angle为负,顺时针旋转),执行turtle.fd(distance)后,小乌龟的方向恢复到正X方向,即东(east),也就是说seth在下次算方向的时候要从east算起走,不是从目前箭头的指向算

i=0,angle为0,向前画200px直线,i=1,angle为120°逆时针旋转这个角度,沿此方向向前画200px直线后,小乌龟恢复到正X方向,i=2,angle为240°逆时针旋转这个角度,沿此方向向前画200px直线后,小乌龟恢复到正X方向

但当我们使用turtle.right(angle)后,就不是如此了,

i=0,angle为0,沿X正方向画200px直线,i=1,angle为120,沿此角度画200px直线后,小乌龟的方向不发生改变,仍为转变角度后的方向,i=2,angle为240,沿此角度画200px直线。

即turtle.right旋转angle后,对其进行操作后,小乌龟的方向不发生改变,turtle.setheading旋转angle后,对其进行操作后,小乌龟的方向发生改变,为X轴正方向。

 您阅读这篇文章共花了:

上一篇:Python | turtle.circle()函数理解

下一篇:Python | Jupyter Notebooks 代码补全插件

本文标签:    

版权声明:本文依据CC-BY-NC-SA 3.0协议发布,若无特殊注明,本文皆为《fishyoung》原创,转载请保留文章出处。

本文链接:Python | turtle.right与turtle.setheading的区别 - http://www.fishyoung.com/post-312.html