博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《教孩子学编程(Python语言版)》——2.3 海龟画圆
阅读量:6678 次
发布时间:2019-06-25

本文共 1003 字,大约阅读时间需要 3 分钟。

本节书摘来自异步社区《教孩子学编程(Python语言版)》一书中的第2章,第2.3节,作者[美]Bryson Payne,李军 译,更多章节内容可以访问云栖社区“异步社区”公众号查看。

2.3 海龟画圆

说到几何,海龟作图可以绘制很多有趣的形状,而不只是直线。我们将在2.4节中再次回到正方形,但现在,让我们来更多地了解一下Python Turtle库。

我们再来修改一行代码:t.forward(x)。我们在前面看到了这条命令或函数,它将海龟的钢笔向前移动x个像素并且绘制一条笔直的线段;然后,海龟转向并且再次绘制。如果我们修改这行代码来绘制更为复杂一点的图形,例如圆,那会怎么样呢?

好在,绘制一个固定大小(或半径)的圆的命令,和绘制一条直线的命令一样简单。我们将t.forward(x)修改为t.circle(x),如下面的代码所示。

CircleSpiral1.py

import turtlet = turtle.Pen()for x in range(100):   t.circle(x)    t.left(91)

哦,将一条命令从t.forward修改为t.circle,会得到一个复杂得多的形状,如图2-3所示。t.circle(x)函数让程序在当前位置绘制了一个半径为x的圆。注意,这个绘制和简单的正方形螺旋线有一些相同点:它也有4组圆形的螺旋线,就像是正方形的螺旋线有4个边一样。这是因为我们使用t.left(91)命令,每次向左旋转都将超过90°一点点。如果我们学习过几何就知道,围绕一个点转一圈有360°,就像是一个正方形有4个90°的角(4×90 = 360)。海龟通过每次围绕图形旋转的比90°多一点点,从而绘制出这个螺旋线的形状。

daade781794c383f4f2602aa92495744408b0499

我们将会看到的一个区别是,圆形螺旋线比正方形螺旋线要大一些,实际上,大约是前者两倍那么大。这是因为t.circle(x)使用x作为圆的半径,而这是从圆心到边缘的距离,大概是圆的宽度的一半。

半径为x意味着,圆的直径,也就是说总的宽度是x的两倍。换句话说,t.circle(x)绘制的圆,当x等于1的时候,总宽度为2个像素;当x为2的时候总宽度为4个像素;按照这种方式,直到x等于99的时候,其宽度为198个像素。这几乎是200个像素宽了,或者说是正方形边最大的时候的两倍,因此,圆螺旋线看上去是正方形螺旋线的两倍的大小,当然,也会加倍的酷!

转载地址:http://cawao.baihongyu.com/

你可能感兴趣的文章
【书签】valgrind - the dynamic analysis tools
查看>>
Linux Mysql Related
查看>>
Exception练习-Exception的正确使用
查看>>
switch&router-四层模式
查看>>
新博安卓培训的第一天
查看>>
游戏中常用到的碰撞检测帮助类
查看>>
访问默认共享
查看>>
01262015要看的blog——oracle tuning
查看>>
[信息图]电子商务营销的6大步骤
查看>>
Hibernate注释大全收藏
查看>>
通过openfiler模拟存储
查看>>
java学习笔记 --- String类
查看>>
1.5-cut命令
查看>>
我的友情链接
查看>>
从技术角度看人与人的沟通
查看>>
加速sshd
查看>>
15.3、SElinux介绍
查看>>
关于Nagios Core
查看>>
python基本数据类型的介绍
查看>>
原生的js写Ajax请求
查看>>