极客小将

您现在的位置是:首页 » scratch编程资讯

资讯内容

Scratch编程与物理-用Scratch学习“抛物运动”

极客小将2020-11-22-
一、什么是“抛物运动”? 在生活中,抛物运动很常见,我们向空中斜向抛出一个小球,在忽略空气阻力的情况下,小球在空中划一个完美的弧线,最后落地,这样的一个弧线就是抛物线,小球所做的运动就是抛物运动。 下面是用Sc

一、什么是“抛物运动”?

在生活中,抛物运动很常见,我们向空中斜向抛出一个小球,在忽略空气阻力的情况下,小球在空中划一个完美的弧线,最后落地,这样的一个弧线就是抛物线,小球所做的运动就是抛物运动。

下面是用Scratch模拟了一个抛物运动的运动轨迹,动图如下。

https://cdn.china-scratch.com/timg/191119/141332DX-0.gif

今天我们就来用Scratch实现这样一个“抛物运动”的模拟器。

在编程之前,我们先来学习到底什么是"抛物运动"。

upload/article/images/2020-11-22/0a7fbb4eadb6585d71e94be5e19264c3.jpg

小球以初速度V发射出去,发射角度为a。我们将速度矢量V分解为水平方向和垂直方向两个部分。水平方向做匀速直线运动,垂直方向受重力影响,做加速度为重力加速度的匀变速直线运动。两个方向合并后的运动轨迹就是抛物线。

二、“抛物运动”的知识点学习

下面我们来看看抛物运动的相关公式。

在忽略空气阻力的条件下,分解速度,则有:

其中Vo为抛出速度,θ为速度与水平面夹角,g为重力加速度

水平方向的速度是:

upload/article/images/2020-11-22/8a3a3493d3b8ab723decdb9dfe77dff6.jpg

竖直方向的速度是:

upload/article/images/2020-11-22/4e66f86a9f902280c815d00f7efb6d1e.jpg

水平方向的位移方程是:

upload/article/images/2020-11-22/c8bfb9b2b776dbdd40174a7960b6338d.jpg

竖直方向的位移方程是:

upload/article/images/2020-11-22/556c361301b2c7c159d5843a3970683a.jpg

从公式

upload/article/images/2020-11-22/4e66f86a9f902280c815d00f7efb6d1e.jpg

可得当

upload/article/images/2020-11-22/2a569ffe3bc03a77f711baf31542002c.jpg

时,小球达到最高点所用时间为 

upload/article/images/2020-11-22/2ec967f3d046d27e08905c4bc24c55bd.jpg

用竖直方向的位移方程可知,斜抛运动能达到的最大高度公式:

upload/article/images/2020-11-22/db9a33068c09ff62faba113bc732b488.jpg

小球回到地面的总运动时间为

upload/article/images/2020-11-22/3c7c956a287fb5f6db024fe1c7859246.jpg

总水平射程是:

upload/article/images/2020-11-22/1b50b1bf6858fa7bcaa6aac65f19ceae.jpg

upload/article/images/2020-11-22/a71f05f120b16bf659ab72a2e2e8e003.jpg

upload/article/images/2020-11-22/ba01f86e87eeaa18893c5a7f479e4a71.jpg

upload/article/images/2020-11-22/efd119d6ef36d4d76422f13cc5c2992d.jpg

小球能达到的最高点叫射高,从抛出点到落地点的水平位移叫射程

射时T:

upload/article/images/2020-11-22/3c7c956a287fb5f6db024fe1c7859246.jpg

射高H:

upload/article/images/2020-11-22/a551bcb2d12438466c02d869030d5163.jpg

射程R:

upload/article/images/2020-11-22/e9c8889a2bedb360109d4a74d5bcd3ff.jpg

用Scratch实现“抛物运动”的模拟器

三、程序思路

upload/article/images/2020-11-22/fd4e6f8447a086ca06a8da2d4d8d0822.jpg

(抛物运动模拟器的操作界面)

1、程序包含两个角色:1、小球Ball ;2、发射按钮Fire。

小球在舞台上的起始位置是(-180,-140)。

2、通过设置变量speed和变量angle的值来调整小球的发射速度和角度,然后单击Fire按钮发射小球。

当用户单击Fire按钮时,它会广播一条消息,小球接收消息后发射出去。

3、小球在发射前,需要移动到起始位置(-180,-140),然后设置落笔状态,并清除之前的笔迹。计算初始速度Vx,Vy。

upload/article/images/2020-11-22/c69bfa26a140658c63287d5ff2719d4d.jpg

4、小球发射后,每0.02秒计算并更新一次小球的位置。

首先计算垂直距离dy,如果为负值,说明小球已经达到地面,程序结束。

upload/article/images/2020-11-22/3023c196e6abb52fe651f29c3405da29.jpg

5、计算水平距离dx,脚本需要把小球的实际飞行距离转换成在舞台上的坐标位置,也就是把(dx,dy)转换成(xPos,yPos)。

舞台中模拟器的垂直长度为320(从-140到180),对应实际长度的100米,从(0到100)。

舞台中模拟器的水平长度为420(从-180到240),对应实际长度的100米,从(0到100)。

因此小球在舞台上飞行的垂直距离为320*dy/100步,水平距离为420*dx/100步,这两个数值分别加上小球的起始坐标,就是小球的实时位置。

https://cdn.china-scratch.com/timg/191119/1413353W0-21.jpg

 

四、程序清单

1、Fire按钮的程序代码

https://cdn.china-scratch.com/timg/191119/1413351606-22.jpg

2、小球Ball的程序代码

https://cdn.china-scratch.com/timg/191119/1413351c7-23.jpg

声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除

网友点评

共有5条评论来说两句吧...

在线客服