还记得我们怎样学习开车的?
想一想,就像把大象装冰箱需要几步?这样来回答问题。
第一步:学习开车基本操作——前进、后退、刹车、打开左转向灯等;
第二步:认识地图、路标(红绿灯等)——在什么路况、什么情况下做相应的操作;
第三步:通过大量实践练习——摸索开车技巧、规律等。
在Python中使用海龟库(turtle)绘制平面图形,就类似于驾驭“小海龟”汽车,遨游在Python世界的画布上,同样也需要三步操作。
首先,需要掌握基本的绘图命令和流程控制语句。比如:前进(forward)、后退(backward)、左转(left)、右转(right)等常用的操作命令以及条件、循环等控制结构。
其次,能够认识地图,根据地图的东南西北(上下左右),来确定画笔的行驶路线。比如:怎么转弯?什么时候转?前行或后退多少步等。这里的地图就是数学里面的二维平面坐标系,以它为基础参照进行路线规划(分析)。
第三,在参考坐标系的基础上,通过一定量的训练,从而掌握绘图的一般规律和技巧。
本文通过一个图形的不同摆放,来分析梳理绘制平面图形的基本思路和流程。
01二维平面坐标系
由水平和竖直两条直线组成的平面,相交的中心点为坐标原点(0,0),平面上的任何一个点的位置都是由x轴(横坐标)和y轴(纵坐标)上的两个数字确定。
小海龟默认起始点在坐标原点(0,0),方向向右(0°方向)。大家要对坐标系的四个象限以及小海龟方向的指向非常熟悉。
02绘图基础代码
编程中,养成良好的书写习惯,能够最大限度地减少代码报错的可能。
Python是区分大小写的,在创建画笔时的Pen()函数的首字母P必须大写。所有点号和圆括号必须在英文输入法下书写。还有Pen()和done()以及其他的函数,单词后面必须有一对圆括号。从专业术语来讲,这些都是函数的调用部分,是语法要求必须要这样书写的。
切记切记!
在绘制任何一个平面图形之前,先完成三行基础代码的编写。
第一步:导入海龟库;importturtle第二步:创建一支自己的画笔;t=turtle.Pen()第三步:添加停止动画效果,让屏幕暂停;turtle.done()
然后,根据绘图要求,在“创建”和“停止”的中间位置补充绘制需要的其他代码即可。
03案例分享
以绘制“菱形”为例,菱形的摆放可以有如下不同的方式,假定:边长,内夹角为:60°、°。
分析过程:
图一:如果以左下角的点作为坐标原点(0,0)为绘制起点。
则可以先前行一定距离(绘制第一条边),然后左转弯菱形的补角(-=60°);继续前行(绘制第二条边);再左转°(学会找角度规律),前行(绘制第三条边);再左转60°,前行(绘制第四条边)。参考代码如下:
答案不唯一,大家还可以思考其他的方式绘制。比如:先向左转60°,绘制上面的直线也是可以的。
图二:如果以最下方的点作为坐标原点(0,0)为绘制起点。应该怎么设计路线呢?
设计路线:先左转60°,前行;再左转60°,前行;再左转°,前行,最后左转60°,前行即可绘制完毕。参考代码如下:
图三:如果以最左侧的点作为坐标原点(0,0)为绘制起点。它的偏移角度又该如何考虑?
设计路线:向左转30°,前行;再右转60°,前行;再右转°,前行;最后右转60°,前行即可绘制完毕。参考代码如下:
04小结
无论菱形怎么摆放,以平面坐标系为参照,先确定一个起始点,分析计算图形的运行轨迹和每次偏移角度,然后再开始绘制图形。
其他图形的绘制也是如此设计即可。案例虽小,但需要仔细思考,掌握其绘制的核心要领。
下一节,会分享图形绘制的一些技巧和规律。敬请