陳新龍
推實(shí)心球是學(xué)生體測必考項(xiàng)目,我們向空中斜向拋出一個(gè)實(shí)心球,根據(jù)重力和速度的關(guān)系,在空中劃出一道弧線后落地,這樣一條弧線就是拋物線,實(shí)心球做的運(yùn)動(dòng)就是斜拋運(yùn)動(dòng)。斜拋運(yùn)動(dòng)的定義是物體以一定的初速度斜向射出去,在空氣阻力可以忽略的情況下,物體所做的勻變速曲線運(yùn)動(dòng)。今天我們用編程來模擬初速度和角度對(duì)拋物線的影響(圖1)。
在模擬的過程中要使用拋物線公式,搜索“斜拋運(yùn)動(dòng)”一詞,獲得拋物線的公式,有足夠數(shù)學(xué)知識(shí)的可以更仔細(xì)地了解公式解析。
在Scratch編程,創(chuàng)建一個(gè)小球Ball角色,初始的位置(-180,-140)。程序開始前通過滑桿調(diào)整發(fā)射速度和發(fā)射角度的值,將這兩個(gè)變量顯示形式調(diào)整為“滑桿”。在小球發(fā)射前,需要設(shè)置畫筆的狀態(tài),移動(dòng)到初始位置,設(shè)置落筆狀態(tài),畫筆的粗細(xì),將頁面中內(nèi)容全部擦除。計(jì)算初始的速度Vx和Vy(Vx等于速度乘角度的cos值;Vy等于速度乘角度的sin值)并且增加變量t用于統(tǒng)計(jì)小球運(yùn)動(dòng)的時(shí)間(圖2)。
小球按照設(shè)定變量發(fā)射后,為了方便觀察運(yùn)動(dòng)軌跡,每隔0.01秒標(biāo)記一次小球的位置,首先計(jì)算垂直距離dy,如果dy小于0,說明小球已經(jīng)扔落到地面,程序結(jié)束。反之計(jì)算水平距離dx,需要把小球的實(shí)際飛行距離轉(zhuǎn)換成在舞臺(tái)上的坐標(biāo)位置,其實(shí)就是把(dx,dy)轉(zhuǎn)換成(xPos,yPos)。舞臺(tái)默認(rèn)垂直長度為320(-140至180)水平長度為420(-180至240),將兩者都轉(zhuǎn)化為實(shí)際長度100之內(nèi)(圖3)。
完成代碼后,添一張背景圖片,這樣一幅完美的拋物線運(yùn)動(dòng)軌跡就完成了(圖4)。
Scratch是一件神奇的工具,當(dāng)它和科學(xué)知識(shí)結(jié)合時(shí)你就可以實(shí)現(xiàn)更多意想不到的樂趣。