当前位置:首页 期刊杂志

用Scratch进行物理实验仿真

时间:2024-05-07

于方军++张永亮

编者按:学术界普遍认为科学的研究方法分为理论推演、实验研究和科学计算,而科学计算则是电子计算机发展起来以后新产生的一种独特的科学研究方法,这种方法随着人类研究领域的深入正变得日益重要。用Scratch进行物理实验仿真,并不是要替代真实的实验,确切地说,是一个建模的过程,将实验研究和理论推演的结论内化之后,应用到模型建构的过程中,是一种很有意义的STEM教育的实践方式。

Scratch在学科融合中的应用可以从测量、记录、控制、仿真四个方面进行尝试:①测量就是通过传感器来获得需要的数值,如我们通过温度传感器测量获取所需要的温度数值。②记录就是用电脑程序代替人工记录数据,通过程序的方式记录可以把人解脱出来,并且更容易对数据进行分析,如我们会把数据导入学习过的电子表格,对数据进行分析。③控制简单地说就是通过程序做出适当的反应,如在太阳底下如果感觉到热了,我们会走到阴凉的地方,“走”就是人脑对“腿”做出的控制。④仿真就是模仿真实世界,如可以根据光的放射定律模仿平面镜、凸透镜成像,让学生理解成像规律;可以把重力加速度加入到游戏中去,让角色的落地更接近于真实;还可以用程序的方式模拟分子运动……本文从仿真的角度做了一些案例尝试。

● 用Scratch仿真平面镜成像

这个仿真程序可以让学生理解平面镜的特点和规律,为进一步完成凸透镜成像的仿真打好基础,如图1为平面镜成像的程序界面。

程序设计的过程中光线会随着操作者的控制随时变化,如移动物体远近、大小时光线会随时变化,所以这里的黄色光线及物体用画笔完成。我们先自定义一个画线的模块(如图2)。

我们只要提供两组坐标,然后调用这个程序就能完成中间的线。而对两组坐标我们可以在程序中设计一些特殊的点作为角色,如物体就是用底部A点和顶部箭头决定的。在Scratch程序中的这种画图方式可以解决动态变化的问题,如果你把这个例子中的“物”画成一个固定角色,后期的调整物体大小和位置就很难实现。

平面镜成像的规律是“像和物大小相等,像和物离平面镜距离相等,像和物连线于镜面垂直”,如何在程序中体现这一点呢?这里也需要设计一个模块体现平面镜成像规律脚本(如图3)。

在这个基础上,我们可以设计凸透镜成像的程序,主要也是在光线和成像规律上。下页图4为凸透镜成像界面。

通过Scratch设计的这种程序具有开放性,是学生可以参与的仿真实验程序。在设计的过程中,学生要理解相应的物理规律,如果是教师设计完成的,学生则可在使用过程中加入一些游戏元素。

● 用Scratch仿真分子运动

分子运动这种微观现象,如何能直观地让学生体验到?除了用传统多媒体的方式,也可以用Scratch程序做一些模拟。我们这里用Scratch的一个扩展版本BYOB完成了这个例子,之所以选择用BYOB是因为它有一个非常不错的拓展功能“锚点”。锚点的主要作用就是把一个角色“附着”到另一个角色上,并且两个角色可以独立编辑脚本。图5为BYOB界面,在图中的例子中,“孙悟空”和“金箍棒”是两个不同的角色,可以分别编辑脚本。我们可以用鼠标“拖拽”金箍棒到舞台上的孙悟空处,这时候角色“金箍棒”右上角就多了一个锚点标志,说明金箍棒已附着到了孙悟空上,孙悟空就可以边运动边玩他的金箍棒了。

分子热运动就是利用这个锚点功能来实现的,图6是用BYOB的升级版本Snap完成的分子热运动的例子。Snap是一个网页编辑的图形化编程软件,所以可用浏览器打开。在这个例子中,我们设计了一个“小立方体”角色,然后建立9个分子小球角色,让这9个分子附着到小立方体上,当小立方体运动时,小分子会随之运动。我们构造好了这样一个神奇的小立方体,便可以在物理学习中加以应用了。

小立方体可以在后期的热学中得到应用,作为分子热运动的例子,在这里我们把9个小分子的运动脚本设计为图7。我们只要给变量a赋一个初始值,小分子就会在-a~a之间选择一个随机数,小分子的X、Y坐标会在原来坐标基础上有轻微变化,仿真出分子热运动的物理现象。如果把这个a值与外接的温度传感器关联,当温度升高时a值增加,分子热运动会加剧。

● 用Scratch仿真小球的自由落体运动

自由落体运动是匀加速运动的一个典型实例,对学生来说彻底理解自由落体运动后,很多运动的问题就都能解决了。如果用Scratch来模拟体验这个过程,并实时反映出速度、距离、时间的变化,学生将会非常直观地了解和感受到自由落体,比看公式()算数字要好得多。图8为小球的自由落体脚本。

添加一个对象“sprite1”的小球,将该对象的位置定位在(0,170)的坐标上,设置一个变量“y”记录当前所处的位置,“计时器”表示小球下落的时间,小球设置的初始高度为170,在Scratch中表示为170像素,重力加速度为9.8米每秒,放到Scratch中表示为9.8像素每秒。那么小球下落的距离就是(),即。然后用最初的位置高度170减去这个下落的距离,就能得出当前小球的y坐标。如图9所示,坐标有正负170,因此小球相当于从340米的高空做自由落体运动。

通过这种仿真程序的设计,我们还可以给物体一个质量、弹性系数来研究小球的反弹,给小球一个初速度来研究小球的运动情况,这种仿真如果用到动画设计中,会使得角色更逼真。

● 小结

仿真作为建模的一种应用,其在图形化可编程领域的应用,正日益成为STEM教育的一个重要方向。而原本在物理教学界,人们普遍担心的是用仿真实验来代替真实实验,使得学生的动手实践能力和对真实世界的观察能力减弱,但是作为在理解物理模型之上的一种综合应用,学生通过Scratch软件进行建模,还原物理现象的数学本质,则对学生的综合能力是一种巨大的提升。此外,物理领域的建模,只是建模这种方法的一种简单应用,更有意义的研究则是其在社会生活中的应用,因此通过仿真获取大量的数据进行大数据分析的训练,也是一个很好的研究方向。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!