python中画圆的代码_Python编程12:Python画图之turtle库如何画圆

#少儿编程#

从上一篇开始,我将和小朋友们一起用Python语言来画图。turtle库是Python语言中一个很流行的绘制图像的库,上一篇我们已经知道如何使用turtle库,如何使用turtle库的函数来画直线和方形。

turtle库不仅可以画直线,还可以绘制很多有趣的形状,比如圆,比如多边形。

1、画圆

turtle库使用circle(r)函数画圆,它的意思是在当前位置画一个半径为r的圆。比如,circle(50),就是画一个半径为50的圆。我们看一段代码,如图1:

u=1104555213,2163870529&fm=173&app=49&f=JPEG?w=640&h=364&s=146075320B1B6049187900CA000090B2图1

图1红框内的代码turtle.circle(100)就是画一个半径为100的圆。

注意:实际上circle()函数里有好几个参数,在图1的例子里,我们只使用了一个参数。当我们这个函数里只有一个值,那就是画圆。

2、画弧形

下面我们再看一段代码,代码和运行结果如图2:

0df431adcbef7609098d519427078fcb7dd99e1c.jpeg?token=a5de566c689865be755c18207cd300b9图2

图2红框内的代码turtle.circle(100,110),就是画一个半径为100,角度为110的弧形。这里circle()函数使用了两个参数,circle(r,extent),第一个参数r代表的是半径,在这个例子里为100,第二个参数extent代表的是角度,在这个例子里为110。

3、画正多边形

circle()函数还能画正多边形。代码和运行结果如图3:

8435e5dde71190ef53d08af1c2c1b111fcfa60d1.jpeg?token=87ac98fc52ff11f497d736115d697531图3

图3里①处的circle(40)函数里只有一个参数值40,就是画一个半径为40的圆;

②处的circle(40,steps=3) 函数里有两个参数值,第一个参数值40是半径,第二个是参数steps=3,意思就是画一个半径为40的圆的内接正三边形;

术语箱:

什么是圆的内接正多边形?

专业的定义我这里就不说了,直接看图,如图4:

96dda144ad3459828dfc2a88052e1daacaef8493.jpeg?token=8d7599e25ab4dbccbb5438ede296fe36图4

③ 处的circle(40,steps=4)函数,steps=4,意思是画一个半径为40的圆的内接正四边形;

④ 处的circle(40,steps=5)函数,steps=5,意思是画一个半径为40的圆的内接正五边形。

4、circle( )函数的总结

我们通过上面三个例子,可以对circle()函数做个总结,circle函数的写法是:circle(r, extent=None, steps=None),circle()函数是一个画弧形的函数,它有3个参数:

r:参数r是半径,是必须要有的。比如circle(100),画半径为100的圆。extent:参数extent是角度,是可选的,也就是说可以没有,没有的时候默认是360度。比如circle(100,90),就是画半径为100,角度为90的弧。steps:参数steps是多边形的边数,使用了这个参数的意思就是画半径为r的圆的内切正多边形,这个参数也是可选的。比如circle(100,steps=5),就是画半径为100的正内接5边形。那如果是circle(100,180,steps=5)呢?

1e30e924b899a901c1033410174f267c0308f5c7.jpeg?token=f0817d187857651b89d1952327db374d图5

①处代码是画一个正5边形

②处代码是因为要求角度为180度,所以画5边形是开口的。

【练习】

使用turtle库的circle()函数画4组螺旋线的圆,颜色为黑色,如图6:

fcfaaf51f3deb48f93b1aacff9c5162e2cf57823.jpeg?token=42f199795841655dcbcc2d575bcd5093图6

由于我们这个图颜色为黑色,turtle库默认颜色是黑色,所以这次我们不需要使用pencolor()函数来设置画笔颜色。笔尖的粗细也是使用turtle默认的细读。代码如图7:

d833c895d143ad4b37cea29d8bd876a8a60f06e8.jpeg?token=0b83ae07b9295d7db6c9018d6c9ceda5图7

代码①:使用for循环画100次圆;

代码②:使用turtle.circle(x)函数是在当前位置画一个半径为x的圆,x的取值范围是range(100),也就是依次取0到100的整数;

代码③:使用turtle.left(91)函数每画完一个圆向左旋转91度。为什么是91度,而不是90度?如果是90度,那4个圆的位置就是一个“十”字形,位置比较正,如图8:

e850352ac65c1038c211670bbacbbf14b27e89e9.jpeg?token=47ff6078ad80643380162aa436acf3ba图8

但我们现在要画的是螺旋线的形状,所以每次向左旋转都偏一点,91度,这样就能画出螺旋线,运行轨迹如图9:

cfabe7e7b2fa86b4ac21e0d7fa641857.gif图9

由于是画100个圆,这段代码运行起来有点长,我就不录屏了。小朋友们自己敲完代码后看看运行过程。

好了,现在我们已经可以画一些复杂的图形了,但是现在我们都只是画一种颜色的图,想来小朋友们会很想画彩色的图吧,下一篇我们再来看看如何画彩色的图。

原创不易,请勿抄袭。欢迎大家关注我,和我多交流,如果你喜欢,请转赞评三连,谢谢。

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值