Python编程作图物理仿真项目进阶设计

来源 :中国信息技术教育 | 被引量 : 0次 | 上传用户:shlices
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  为让学生通过仿真实践,体验使用计算机编程解决问题的全过程,掌握分支和循环等算法结构,熟练使用Python内置模块和自定义函数,理解模块化编程思想,笔者尝试使用海龟绘图模块编程来设计简单的物理仿真程序。从仿真自由落体运动、平抛运动和斜抛运动,到实现漫天烟花效果,项目难度不断进阶,最后鼓励学有余力的学生自主学习交互式操作和面向对象编程方法,获得更炫目的漫天烟花视觉效果,逐步形成了从易到难的计算思维的培养。
  项目一:绘制自由落体运动物体径迹图
  仿真技术是利用计算机并通过建立模型进行科学实验的一门多学科综合性技术。人们对现实系统进行简化和模仿,建立相关模型,并对该模型进行试验,从中得到所需的信息,然后帮助人们更好地理解现实世界。
  在物理课上,由于实验条件的限制,没有暗室操作频闪照片的实验,只能简单介绍其工作原理,学生缺乏对频闪照片的感性认识,不能准确理解物理过程。教师可以根据自由落体运动规律,使用编程绘图动态模拟运动过程,并获得相应的仿真实验照片,帮助学生理解物理规律。
  为了让学生体验使用计算机编程解决问题的全过程,教师可以将实际实验获得的频闪照片和仿真实验绘制的粒子径迹图展示给学生,先让学生分析如何抽象建模和设计算法,再编写代码和调试程序。因为本项目的重点是解析算法的应用,如果学生对绘图模块不是很熟悉,教师可以提供半成品参考代码,对绘图相关语句进行说明,学生只需填写计算坐标的核心代码。
  绘制自由落体运动粒子径迹图的算法比较简单,只需设置好初始位置坐标,然后每隔一段时间获取t时刻物体的位置坐标,并在该位置绘制一个白色小球即可。根据自由落体运动规律,小球的x坐标不变,t时间内下落高度为h=0.5*g*t*t。这是典型的解析算法,只要学生熟悉物理公式,就可以直接写出赋值语句。
  因为海龟在屏幕中移动的距离是以像素为单位,所以我们需要为下落高度乘以一个放大倍数mult,以获得合适的距离;同时考虑海龟的运动方向与y轴正方向相反,故计算y坐标的解析式为y=-0.5*g*t*t*mult。
  为了获得理想的仿真实验效果,还可以引导学生对程序进行多次调试,合理设置时间间隔、放大倍数和重力加速度等参数值。核心代码略。
  项目二:绘制平抛运动物体径迹图
  在自由落体运动的基础上,可以让学生进一步研究平抛运动。平抛运动分解为水平方向的匀速直线运动和竖直方向的自由落体运动,教师可以引导学生先绘制两个分运动的频闪照片,再处理合运动,通过对比分析3个小球的频闪照片,可以更好地理解物理模型。
  有了模拟自由落体运动的程序,模拟平抛运动的代码不难写出,只需在原有代码的基础上增加一个表示水平初速度的变量vx,并在循环体中增加计算水平位移的赋值语句x=vx*t*mult即可。核心代码略。
  项目三:绘制斜抛运动物体径迹图
  学生掌握仿真平抛运动的方法后,可以进一步扩展到斜抛运动,并使用这个例子来进行自定义函数的教学。
  一些教师在教授自定义函数时,把重点放在了语法教学上,笔者认为这是不妥当的。Python的自定义函数语法相当复杂,其形式参数就有必需参数、关键字参数、默认参数、不定长参数等多种类型,更别说各种实参的变异写法和复杂的闭包语法了。这些复杂的语法不是光靠死记硬背就能掌握的,需要多次实践的积累才能逐步理解。题目是做不完的,知识也教不完,“师傅领进门,修行靠个人”,教师主要起到引导学生入门和指明前进方向的作用,具体的知识和技能还是要靠学生自己去领悟和理解。
  笔者认为,自定义函数的教学重点应该是让学生理解模块化编程的作用,初步掌握模块化编程的方法,能够根据需要设计自定义函数(包括明确函数功能、设置参数和返回值、给出样例演示等)。其中,设计自定义函数是重中之重,需要反复练习和比较,力求达到意义明确、格式规范、表述简明的目标。
  模块化的目的是降低程序复杂度,使程序设计、调试和维护等操作简单化。利用函数,可以实现程序的模块化,使得程序设计更加简单和直观,从而提高程序的易读性和可维护性。那么本案例需要把哪些功能模块化?又如何设计函数呢?
  分析斜抛运动粒子径迹图,发现它是由一个个处在特定位置的白色小球排列而成,因此可以把绘制一组白色的斜抛运动粒子作为基本功能模块。那么,要把斜抛运动粒子径迹图绘制出来,需要明确它的哪些属性呢?(其实这里已经暗含面向对象的思想了,只不过时机未到,暂时不点破)
  教师可以引导学生从函数功能、函数名、参数表和返回值的角度逐个分析,最后整理出一份完整的函数头说明文档。参考示例略。
  项目四:同时绘制多个粒子(单个烟花)斜抛运动径迹图
  自定义函数oblique_throw()只能绘制单个粒子斜抛运动径迹图,为了实现漫天烟花的效果,先要学会同时绘制多个粒子斜抛运动径迹图的方法。
  在绘制单个粒子径迹图时,只需使用一重循环,计算出粒子在各时刻的位置坐标,并在该位置绘制一个代表该粒子的圆点即可。为了同时绘制多个粒子的径迹图,需要使用二重循环,其中外层循环控制时间,内层循环依次绘制各个粒子。
  为了对不同的粒子进行区分,需要设置3个列表v、a、c分别表示各粒子的初速度、角度和颜色信息,并通过使用随机数模块来为各个粒子设置不同的颜色和初速度等属性。
  为了实现烟花效果,需要设置合理的粒子数量、放大倍数和重力加速度值,并为每一朵烟花(粒子群)设置一支画笔,刷新每一帧画面。在绘制完该粒子群的所有图像后,还要清除画笔,让烟花消失,才能繪制另一朵烟花。
  同样,教师可以引导学生分析函数功能、函数名、参数表和返回值,整理出函数头说明文档。参考示例略。
  项目五:交互式操作和面向对象(点放漫天烟花效果)编程方法   自定义函fireworks()虽然通过同时绘制多个粒子斜抛运动径迹图的方法,实现了放烟花的动态效果,但是它每次只能绘制一朵烟花,而且颜色不能动态变化,与实际的烟花效果还有一段距离。要想获得更绚丽的漫天烟花效果,需要使用面向对象的编程技术,构造一个烟花类,可以同时生成多个烟花实例,四处绽放,还可以采用交互方式,实现在鼠标点击处生成烟花的功能。
  面向对象编程思想更符合人类的自然思维方式,学生理解起来比较自然,可以把源代码和相关资料提供给学生,鼓励学有余力的学生课后自学,通过调整参数、修改代码,实现更为炫目的烟花效果。
  综合以上分析,上述项目从最简单的“绘制自由落体运动物体径迹图”开始,逐次增加难度,学生面对的每一次挑战都是建立在之前经验的基础上,并不顯得突兀,遵循“最近发展区”教学规律。项目一和项目二,主要学习解析算法和使用绘图模块编写物理仿真程序的基本原理,相对简单,可以在一个课时里完成教学任务;项目三和项目四,主要学习自定义函数的构造和使用方法,其中项目四还运用了列表和二重循环等难度较大的知识点,综合度较高,预计需要两个课时;项目五需要用到交互式操作和面向对象编程方法,已经超出了高中信息技术必修课的教学要求,但是趣味性比较高,而且难度也不大,可以引导学有余力的学生通过自学实现相关功能。
  苍山点题
  计算思维作为信息技术学科核心素养之一,是信息化社会中数字公民所应具备的基本素养。现在普遍的观点是在编程教学中更容易培养计算思维,计算思维培养的模式、实践与案例也是新课程教学研究中最受关注的焦点。
  第一篇文章,对计算思维内涵及其对学生发展的意义进行分析,提出计算思维的培养应夯实学生信息技术学科思想和方法基础,培养学生运用计算思维解决问题的关键能力,以简明、实操性强的教学模式来指引教师在教学中落实计算思维,并提出“不插电的计算思维”等直观教学、基于问题解决的计算思维培养以及在教学中的应用等教学策略和方法。
  第二篇文章,通过对“绘制自由落体运动物体径迹图、绘制平抛运动物体径迹图、绘制斜抛运动物体径迹图、绘制多个粒子(单个烟花)斜抛运动径迹图、交互式操作和面向对象(点放漫天烟花效果)编程方法”五个项目的进阶设计,基本可以让学生熟悉解析算法的基本特征,掌握自定义函数的基本方法,理解模块化编程和面向对象编程的基本思想。在编程实践过程中,学生还加深了对物理规律的理解,掌握了物理仿真技术的基本方法,从而可以使用编程绘图等工具去实现更多更复杂的物理仿真模型,提升计算思维水平。
其他文献
不知从什么时候开始,网络成了人们日常生活重要的组成部分。作为处在时代发展前沿的教育,一直伴随着网络的发展而不断的变革。这不仅仅反映在教育技术领域的日新月异,更突出表现在教育理念与观念的裂变上。近年来,兴起于苏州,渐次波及全国的网络教研团队活动,就是这种裂变最典型的诠释方式之一。    无意间的亲密接触    那是一个很平常的日子,正忙着处理手头的工作,电话铃响了,拿起电话,电话那头传来略带外地口音
根据环保、气象部门发布的信息,目前我国尚未受到日本电站泄漏放射性物质的影响,公众暂时无需服用碘片进行预防。针对近期公众对日本核泄漏释放的放射性碘对健康危害影响的传言,中国疾病预防控制中心辐射防护与核安全专家特别提示:    核电站泄漏时有大量的放射性碘释放,放射性碘被人体吸收后主要蓄积在甲状腺,使甲状腺受到较大剂量的照射。通过服用稳定性碘可以有效的阻止放射性碘在甲状腺的蓄积。  碘盐中碘的存在形式
第一次使用专业相机的时候,正是一个烈日炎炎的夏日正午。太阳无所顾忌地直射而下,丝毫不怜惜血肉之躯的人们。脸被晒得发烫,汗水沿着鬓角的发丝滴落,兴奋的心情终于被消磨殆尽,便只想着快点拍完交差,然后逃离这个炙热的烤炉。  带着这种心情,在校园里走走停停,随意地让很多东西进入了我的相机。鸟窝、枯木、吹泡泡的小孩、废弃的院落……然而,慢慢地,应付的心态全没了,我竟重新兴奋起来。我发现,平日里见惯的东西在相
“1920年9月17日。只有一个目标,却没有什么道路。我们叫做道路的是怀疑而已。”(弗朗兹·卡夫卡:《出自笔记本和散页的碎片》)为什么卡夫卡要为这句反思之语标出日期?也许是为了强调这个想法到来中的明确性。这个想法立即到达了它的目标,而且并无准备,因此自己成了自己的例证。这是有关碎片写作的碎片写作。  当每一表述都在恰到好处的时候入场,一个文本中的语境和完整性给人的印象就产生了。是道路的延宕在说服你
引言  迄今为止,关于电子教材近几年发展现状的综合性研究却很少,针对目前的需求,笔者综合近15年电子教材的相关研究进行了定量分析,旨在通过数据分析来研究电子教材研究的热点与趋势。  资料来源  本文以《中国学术期刊网》CNKI为源检索总数据库,选取其中的中文核心期刊和中文社会科学引文索引两个核心期刊数据库进行电子教材的文献检索。  笔者以“电子教材”及其相似概念,如“数字教材”“电子教科书”等为关
王雷英:全国著名特级教师,中学高级教师,浙江省优秀教师,浙江省青语中心副主任。全国第四届青年教师阅读教学大赛一等奖获得者。现任宁波市广济中心小学校长、书记。多年来潜心语文教学的研究,追求感性、灵性、悟性交积的课堂境界,倡导“语文是心泉的流淌,是灵魂的倾诉”,逐步形成了自己极具亲和力的“揉读”教学风格,具有浙派名师的睿智、灵秀、大气。作为一位年轻却成熟的管理者,1999年起担任校长一职,始终以和谐教
会议回顾《2016年全国新型职业农民发展报告》编制工作情况,深入研讨《2017年全国新型职业农民发展报告》编写提纲,研究部署2017年报告编制工作。会议强调报告编制人员要进一步修改完善提纲,确保报告编制工作開好头、起好步;要高度重视报告质量,广泛收集有效数据,深入分析内在联系,采用科学表现形式,确保报告的科学性和权威性;要合理组织人员和力量,按照任务分工抓紧时间开展调查研究和报告编写,按时保质保量
这是一位朋友的故事。  他曾經刻骨铭心地恨过一个人。那时他12岁,父亲去世已经两年了,他和母亲相依为命。  那个人,是村里的支部书记。他恨村支书,是因为村里突然要收回他家的一块土地。那块土地,对他和母亲来说具有非同寻常的意义——那是父亲知道自己的病情后抱病开垦出来的,为的是能给他们母子留一块能换来柴米油盐的土地。  但村里说收回就收回了,不顾母亲的抗议。望着流泪的母亲,他心底的愤怒滋生,膨胀,再膨
摘要:教学兴奋点是指教师在教学时给学生留下深刻的印象,得到学生最富有情感的反应的时刻。在这一刻,师生双方的积极性达到最佳配合的状态。它能快速吸引学生的注意力,调动学生的积极性,有效激发学生的热情和潜能,从而点燃师生间的激情,掀起课堂的高潮,提升教学的效率与品质。  关键词:信息技术;捕捉;课堂高潮;教学兴奋点  中图分类号:G434 文献标识码:A 论文编号:1674-2117(2017)10-0
上月,一个在北京某知名大学当老师的朋友来看我,闲聊中,他跟我讲了一个故事,让我记忆深刻,感慨颇多。  朋友说,当年上高中时,自己的成绩很优秀,一直都被分在重点班。可是在高二文理分科的那次考试中,他却意外地发挥失常,被毫不留情地刷到普通班。  这对朋友来说,简直是晴天霹雳,给他带来的打击可想而知,因为之前他根本没想到会有这样的结果,没有做过思想准备。更何况,在普通班就意味着高考无望,没人会关注重视他