admin 管理员组

文章数量: 1086019


2024年3月10日发(作者:网页特效 打字机)

面向Python翻转课堂的图形动画案例库的

设计

作者:宋雅娟 尚鲜连

来源:《计算机时代》2021年第12期

摘 要: 为了提高学生在翻转课堂模式下对Python语言进行自主学习的兴趣,开发一个基

于Python Turtle库的图形动画案例库集成软件。在软件中可以直观地看到图形案例、动画程

序、小游戏程序的运行效果及其实现代码。案例内容从简单到复杂,从静态到动态,有助于学

生通过案例自主学习,在教学中取得了良好的应用效果。该软件可以应用于高职、高专Python

翻转课堂教学中,也可以应用于Python爱好者的自学。

关键词: Python教学; 图形动画案例库; Turtle库; 翻转课堂

中图分类号:G433 文献标识码:A 文章编号:1006-8228(2021)12-106-03

Abstract: In order to improve students' interest in autonomous learning of Python language in

flipped classroom mode, integrated software of graphic animation case library based on Python

Turtle library is developed. In the software, the running effect and the implementation code of

graphic cases, animation programs and small game programs can be intuitively seen. The content of

case is from simple to complex, from static to dynamic, which is helpful to students' autonomous

learning through case, and has achieved good application effect in teaching. The software can be

applied to the flipped classroom teaching of Python in higher vocational college and higher technical

college, and can also be applied to the self-learning of Python enthusiasts.

Key words: Python teaching; graphic animation cases library; Turtle library; flipped classroom

0 引言

Python是一种面向对象的解释型计算机程序设计语言,Python语言易学易用,具备丰富的

开源库[1],已成为继Java,C++之后的第三大程序设计语言。为了激发学生学习兴趣,图形动

画案例不断被引入各种程序语言的教学中。文献[2-4]中是将EasyX制作的图形案例应用于“C

语言程序设计”的教学过程中,文献[5]是将图形动画案例应用于“Java语言程序设计”的教学

中。随着翻转课堂线上线下教学模式的发展,各种辅助教学资源不断被应用在计算机专业的教

学过程中[6]。

Python可以用来开发人工智能程序、动画游戏程序、图像处理程序。本文设计并实现

Turtle库图形动画小游戏案例库,并利用tkinter库的菜单功能对所有案例加以整合,形成一个

相对完整的案例库软件平台,涵盖一系列由简单到复杂的图形动画案例。 Python各种知识点

贯穿其中,既可作为线上教学资源,也可以作为课堂教学案例使用。在提高程序语言的教学质

量的同时,为自主学习Python探索一种新的方法。

1 案例库软件平台的功能结构

用户进入软件系统后,可以在菜单栏中选择不同内容,查看案例的运行效果。系统具体功

能如图1所示。

选择“坐标基础”菜单项后有两个选项,可以查看Turtle的角度示意图和坐标值示意,为用

户学习Turtle绘图体系奠定基础。

选择“画图”菜单项后有“画直线”、“矩形”、“圆”、“三角形”、“圆柱”等子菜单,点选后输

入参数,可在界面上看到绘制图形的过程,并显示函数说明文字。

选择“动画”菜单项后会出现“小乌龟”、“福字”、“幸福中国结”、“地铁交通线路图”、“五星

国旗”等Turtle绘制的图形及动画。通过这些案例,可以看到Python制作动画的丰富效果,激

发相关创意及学习兴趣。

选择“小游戏”菜单项后有基本弹球游戏及改版的动画。用户可以看到如何在一个基本程序

基础上进行场景图形的扩展,并可看到场景中出现之前菜单中绘制的图形,学习到图形、动画

的综合实现方法。

2 软件的设计与实现

2.1 坐标基础菜单项

用户进行绘图首先需要了解Turtle库的坐标系,——度示意图,见图2(a)。可以看到小

乌龟坐落在原点(0,0)处,位于画布的中心。乌龟头朝向x轴正向,角度为0度,y轴正向

的角度为逆时针90度或顺时针旋转-270度,用户在使用程序驱动小乌龟运动时可以按此角度

进行运作。

另一个是坐标象限位置示意图,见图2(b),中心点为坐标原点(0,0),分成四个象

限。通过这个图,可以了解Turtle坐标系,知道坐标原点、各个象限坐標情况。这两个坐标图

不仅展示了Turtle库的坐标使用情况,同时通过代码也可以掌握如何应用Python绘制一个线

条形式的示意图。

2.2 画图菜单项

此部分提供绘制直线、圆、三角形、圆柱等基本图形和组合图形的案例。在绘制相应图形

后以文本方式输出完成图形的相关代码,有助于Turtle库的函数的学习。Turtle库中提供了相

应的绘制线条、圆等基本函数,使用画图菜单项即可看到绘制的效果,并通过文本内容及程序

代码学习Turtle库的基本绘图函数。

此部分的案例涉及基本图形及组合图形的绘制,在学习基本图形后利用所学内容进行拓

展,发挥创意,从而可以绘制需要的复杂图形。

2.3 动画菜单

“动画”子菜单中提供复杂图形及场景的绘制,当点击选项时,即可出现绘制过程,更容易

理解绘制图形的代码,提供的案例主要有幸福中国结、卡通小乌龟、五星红旗、地铁线路示意

图及福字的绘制。

例如“幸福中国结”这个案例可以学习到通过Turtle中的定时器制作图形动画的方法。动画

过程见图3。图中有四个红色中国结,大小不同、位置不同。动画进行过程中,两个大的中国

结从下向上垂直运动到顶端停止,两个小的中国结从上向下垂直运动,碰到长凳即停止。用户

可以通过键盘控制画面中的长凳进行左右上下的移动。该案例中涉及到函数调用、顺序结构;

绘制中国结中的循环结构、选择结构;多个中国结的绘制涉及到列表数据结构;长凳移动涉及到

字典数据结构、键盘事件处理。此案例可以贯穿Python中基本知识点。

其他的卡通小乌龟、五星红旗、地铁线路示意图及福字的绘制,则是应用不同案例展示应

用Python turtle库所能完成的多种形式的复杂图形创意及绘制,有助于激发更多的图形创意设

计思路。

2.4 小游戏案例菜单

小游戏案例菜单提供了二个版本的弹球小游戏。第一个是基本的弹球游戏,弹球在界面上

按一定方向运行。当碰到两侧的球拍时,球被弹回。小游戏中的第二个弹球案例如图4所示。

这个案例设计实现了弹球在一个场景中的运动过程。场景中有三个区域,右上角区域悬挂着一

个红色中国结,周围有黑色边框。左上角是一个有黑色填充图形的花朵图案。下方是一把椅子

上坐着一个人。场景中有一个弹球,按一定方向进行运动,当碰到花朵与中国结的边框时会被

弹向相反方向,碰到场景四周的边界时也会被弹回。案例中有静态图形和动画效果。使用与幸

福中国结中同样的中国结图案,展示了程序模块及图形组合的作用。简单线条绘制的椅子增加

了场景的立体感。这样一个比较综合的案例可以连接前面的案例,从浅入深地完成了一个动画

及交互功能的实现。

这个案例的改版处在于保持弹球的运动程序,但增加了比较丰富的场景元素。

3 结束语

本文对基于Turtle库的Python案例软件平台进行了介绍与阐述。软件中的案例从基本图

形到复杂图形,从静态场景到动画界面,从无交互到有键盘控制。形成一个阶梯式学习Python

的过程。此案例库展示更多的设计可能性,有助于激发更好更复杂的创意。可以通过课程网站

不断扩充案例库,既让学生能获得越来越多的创意启发,也可让学生因对案例库的贡献工作而

产生成就感和满足感。

参考文献(References):

[1] 嵩天,黄天羽,礼欣.Python语言:程序设计课程教学改革的理想选择[J].中国大学教

学,2016.2:42-47

[2] 张煜昕.基于EasyX图形库的多线程绘图应用[J].电脑知识与技术,2018.14(30):

226-228

[3] 宋雅娟,邊晶.基于easyX动画案例开发导向的C语言程序设计课程教学方法研究[J],

长春大学学报, 2018.220(6):117-121,125

[4] 李柯景.EasyX在C语言课程教学中的应用[J].科教导刊,2018.331(3):91-92

[5] 王洋.Java就该这样学[M].电子工业出版社,2013.

[6] 尚鲜连,曾海,宋雅娟等.基于移动学习的线上线下混合式教学模式研究与实践[J].教育

教学论坛,2020.41:250-252


本文标签: 图形 案例 动画