資訊內(nèi)容
Scratch編程與物理-用Scratch學(xué)習(xí)“拋物運(yùn)動(dòng)”
一、什么是“拋物運(yùn)動(dòng)”?
在生活中,拋物運(yùn)動(dòng)很常見,我們向空中斜向拋出一個(gè)小球,在忽略空氣阻力的情況下,小球在空中劃一個(gè)完美的弧線,最后落地,這樣的一個(gè)弧線就是拋物線,小球所做的運(yùn)動(dòng)就是拋物運(yùn)動(dòng)。
下面是用Scratch模擬了一個(gè)拋物運(yùn)動(dòng)的運(yùn)動(dòng)軌跡,動(dòng)圖如下。

今天我們就來用Scratch實(shí)現(xiàn)這樣一個(gè)“拋物運(yùn)動(dòng)”的模擬器。
在編程之前,我們先來學(xué)習(xí)到底什么是"拋物運(yùn)動(dòng)"。

小球以初速度V發(fā)射出去,發(fā)射角度為a。我們將速度矢量V分解為水平方向和垂直方向兩個(gè)部分。水平方向做勻速直線運(yùn)動(dòng),垂直方向受重力影響,做加速度為重力加速度的勻變速直線運(yùn)動(dòng)。兩個(gè)方向合并后的運(yùn)動(dòng)軌跡就是拋物線。
二、“拋物運(yùn)動(dòng)”的知識(shí)點(diǎn)學(xué)習(xí)
下面我們來看看拋物運(yùn)動(dòng)的相關(guān)公式。
在忽略空氣阻力的條件下,分解速度,則有:
其中Vo為拋出速度,θ為速度與水平面夾角,g為重力加速度
水平方向的速度是:
![]()
豎直方向的速度是:
![]()
水平方向的位移方程是:
![]()
豎直方向的位移方程是:
![]()
從公式
![]()
可得當(dāng)
![]()
時(shí),小球達(dá)到最高點(diǎn)所用時(shí)間為?
![]()
用豎直方向的位移方程可知,斜拋運(yùn)動(dòng)能達(dá)到的最大高度公式:
![]()
小球回到地面的總運(yùn)動(dòng)時(shí)間為
![]()
總水平射程是:
![]()
![]()
![]()
![]()
小球能達(dá)到的最高點(diǎn)叫射高,從拋出點(diǎn)到落地點(diǎn)的水平位移叫射程
射時(shí)T:
![]()
射高H:
![]()
射程R:
![]()
用Scratch實(shí)現(xiàn)“拋物運(yùn)動(dòng)”的模擬器
三、程序思路

(拋物運(yùn)動(dòng)模擬器的操作界面)
1、程序包含兩個(gè)角色:1、小球Ball ;2、發(fā)射按鈕Fire。
小球在舞臺(tái)上的起始位置是(-180,-140)。
2、通過設(shè)置變量speed和變量angle的值來調(diào)整小球的發(fā)射速度和角度,然后單擊Fire按鈕發(fā)射小球。
當(dāng)用戶單擊Fire按鈕時(shí),它會(huì)廣播一條消息,小球接收消息后發(fā)射出去。
3、小球在發(fā)射前,需要移動(dòng)到起始位置(-180,-140),然后設(shè)置落筆狀態(tài),并清除之前的筆跡。計(jì)算初始速度Vx,Vy。

4、小球發(fā)射后,每0.02秒計(jì)算并更新一次小球的位置。
首先計(jì)算垂直距離dy,如果為負(fù)值,說明小球已經(jīng)達(dá)到地面,程序結(jié)束。

5、計(jì)算水平距離dx,腳本需要把小球的實(shí)際飛行距離轉(zhuǎn)換成在舞臺(tái)上的坐標(biāo)位置,也就是把(dx,dy)轉(zhuǎn)換成(xPos,yPos)。
舞臺(tái)中模擬器的垂直長(zhǎng)度為320(從-140到180),對(duì)應(yīng)實(shí)際長(zhǎng)度的100米,從(0到100)。
舞臺(tái)中模擬器的水平長(zhǎng)度為420(從-180到240),對(duì)應(yīng)實(shí)際長(zhǎng)度的100米,從(0到100)。
因此小球在舞臺(tái)上飛行的垂直距離為320*dy/100步,水平距離為420*dx/100步,這兩個(gè)數(shù)值分別加上小球的起始坐標(biāo),就是小球的實(shí)時(shí)位置。

?
四、程序清單
1、Fire按鈕的程序代碼

2、小球Ball的程序代碼

聲明:本文章由網(wǎng)友投稿作為教育分享用途,如有侵權(quán)原作者可通過郵件及時(shí)和我們聯(lián)系刪除
- 上一篇
一道程序猿筆試面試必會(huì)題怎樣用scratch做出來?
點(diǎn)擊上方“啟迪少兒”即可關(guān)注訂閱 很多家長(zhǎng)覺得scratch太簡(jiǎn)單了,只需要拖拽封裝好的積木塊就可以了。而我們scratch老師則會(huì)回應(yīng),scratch是低門檻高上限的,是沒有天花板的……為什么這么說,我們今天就看一看用sc
- 下一篇
Scratch少兒編程教程
基礎(chǔ)課程1:走近Scratch編程—認(rèn)識(shí)Scratch軟件 Scratch軟件是由麻省理工學(xué)院(MIT)媒體實(shí)驗(yàn)室所開發(fā)的一款面向青少年的圖形化簡(jiǎn)易編程軟件。使用者只需要將色彩豐富的指令方塊組合,便可創(chuàng)作出交互式故事、動(dòng)畫、游戲、音
