Scratch编程与物理-用Scratch学习“抛物运动”
一、什么是“抛物运动”?
在生活中,抛物运动很常见,我们向空中斜向抛出一个小球,在忽略空气阻力的情况下,小球在空中划一个完美的弧线,最后落地,这样的一个弧线就是抛物线,小球所做的运动就是抛物运动。
下面是用Scratch模拟了一个抛物运动的运动轨迹,动图如下。
今天我们就来用Scratch实现这样一个“抛物运动”的模拟器。
在编程之前,我们先来学习到底什么是"抛物运动"。
小球以初速度V发射出去,发射角度为a。我们将速度矢量V分解为水平方向和垂直方向两个部分。水平方向做匀速直线运动,垂直方向受重力影响,做加速度为重力加速度的匀变速直线运动。两个方向合并后的运动轨迹就是抛物线。
二、“抛物运动”的知识点学习
下面我们来看看抛物运动的相关公式。
在忽略空气阻力的条件下,分解速度,则有:
其中Vo为抛出速度,θ为速度与水平面夹角,g为重力加速度
水平方向的速度是:
竖直方向的速度是:
水平方向的位移方程是:
竖直方向的位移方程是:
从公式
可得当
时,小球达到最高点所用时间为
用竖直方向的位移方程可知,斜抛运动能达到的最大高度公式:
小球回到地面的总运动时间为
总水平射程是:
小球能达到的最高点叫射高,从抛出点到落地点的水平位移叫射程
射时T:
射高H:
射程R:
用Scratch实现“抛物运动”的模拟器
三、程序思路
(抛物运动模拟器的操作界面)
1、程序包含两个角色:1、小球Ball ;2、发射按钮Fire。
小球在舞台上的起始位置是(-180,-140)。
2、通过设置变量speed和变量angle的值来调整小球的发射速度和角度,然后单击Fire按钮发射小球。
当用户单击Fire按钮时,它会广播一条消息,小球接收消息后发射出去。
3、小球在发射前,需要移动到起始位置(-180,-140),然后设置落笔状态,并清除之前的笔迹。计算初始速度Vx,Vy。
4、小球发射后,每0.02秒计算并更新一次小球的位置。
首先计算垂直距离dy,如果为负值,说明小球已经达到地面,程序结束。
5、计算水平距离dx,脚本需要把小球的实际飞行距离转换成在舞台上的坐标位置,也就是把(dx,dy)转换成(xPos,yPos)。
舞台中模拟器的垂直长度为320(从-140到180),对应实际长度的100米,从(0到100)。
舞台中模拟器的水平长度为420(从-180到240),对应实际长度的100米,从(0到100)。
因此小球在舞台上飞行的垂直距离为320*dy/100步,水平距离为420*dx/100步,这两个数值分别加上小球的起始坐标,就是小球的实时位置。
四、程序清单
1、Fire按钮的程序代码
2、小球Ball的程序代码
--end--
声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com