資訊內容
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的程序代碼
聲明:本文章由網友投稿作為教育分享用途,如有侵權原作者可通過郵件及時和我們聯系刪除
