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

2021-12-28 00:21宋雅娟尚鲜连
计算机时代 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

猜你喜欢
翻转课堂
扬翻转之风帆,激课堂之精彩
备考史密斯玩转“翻转课堂”
高职计算机组装维修课程“翻转课堂”教学模式思考
创建“自助餐选菜式”自主学习模式
关于“翻转课堂式教学”的探讨
基于微信平台的高中物理“翻转课堂”教学初探
基于翻转课堂的高职英语口语教学研究
翻转课堂在高职公共英语教学中的应用现状分析及改善建议
翻转课堂在小学数学教学中的应用
翻转模式在“液压与气动”教学中的应用研究