## Vpython-加速度運動四部曲 #### by 蘇昱全 Switch --- ## 第四部分:空氣阻力 ---- 空氣阻力普遍認為與一物體的速度有關,通常是一個常數乘上速度的某個次方,如下(假設\\(\vec{v}=v\hat{v}\\)): \\(\vec{f}=-bv^{k}\cdot \hat{v}\\) 這個負號代表阻力方向恆與速度方向相反 而\\(\hat{v}\\)是一個單位向量(大小為1),讀做$\text{v-hat}$, 用以表示速度\\(\vec{v}\\)的方向 ---- ### 「質量」的重要性 你會發現,此時空氣阻力\\(\vec{f}\\)就不再與質量有關了, 所以根據牛頓第二運動定律\\(\vec{F}=m\vec{a}\\), $\vec{a}=\dfrac{\vec{F}}{m}=\dfrac{-bv^k}{m}\hat{v}$,即質量與加速度成反比。 ---- ### 物理小教室:終端速度 一個鉛直下落的物體,你可以拿起討厭記者麥克風 (肯定有人懂我在講甚麼)問問他的受力,他會受到: 重力$mg$向上以及空氣阻力$-bv^k$向下, 若達到兩力平衡\\(mg=b{v_f}^k\\),即無加速度 則此時的速度(為一定值)$v_f$稱為終端速度 ---- 若是對應到上周的**斜拋**,則水平方向會一直受到 一個與速度方向相反的加速度,故最終 (\\(t=\infty\\),如果未觸地)仍會變成鉛直向下的運動。 --- ## 實作技巧 ---- 先說好囉,我們今天的模擬統一使用 \\(\vec{f_{air}}=-bv^2\cdot \hat{v}\\) ---- ### 歸一化(Normalize) ---- 神魔之塔的六封王路西法 潛能解放後就有一個技能叫魔力歸一(誤) ![screenshot_2017-01-13-21-51-16](https://hackmd.io/_uploads/rJS_hUVU6.png =300x) ---- 歸一化是指將一個向量$\vec{a}$化為單位向量, 即使得\\(\abs{\vec{a}}=1\\) 在VPython中有一個對應的語法叫做$\texttt{norm()}$ ```python a = vec(3, 4 ,0) b = norm(a) #b = vec(0.6, 0.8, 0) ``` 對於歸一化的數學定義,我們說: 將$\vec{a}$歸一化後得到的向量$\hat{b}$ 將滿足\\(\hat{b}=\dfrac{\vec{a}}{\abs{\vec{a}}}\\) ---- 你可能會問:什麼是\\(\abs{\vec{a}}\\)? \\(\abs{\vec{a}}\\)就是向量\\(\vec{a}\\)的長度, \\( \text{If }\vec{a}=(a,b,c)\text{ ,then }\abs{\vec{a}}=\sqrt{a^2+b^2+c^2} \\) (不是\\((\abs{a},\abs{b},\abs{c})\\)喔) 對應的語法叫做$\texttt{mag()}$ \\({\abs{\vec{a}}}^2\\)叫做$\texttt{mag2()}$ ---- 所以,對於力的計算,我們可以這樣做 **量值計算 $\to$ 賦予方向** ```python! v = vec(15, 8, 7) F = -b * mag2(v) * norm(v) ``` --- ## 實作部分 ---- ### 實作一:觀測終端速度 ---- 前提: 想要觀察到明顯的終端速度,有三點注意事項: * 不要有地板 * 質量 $m$ 與常數 $b$ 數量集不要相差太大 * 初速度 $v$ 不要太大 ---- 想要具體的觀察「速度」這個物理量, 我們可以用「畫圖」的方式展示出來。 複習一下: ``` vtg = graph(title = "v-t", width = 400, height = 400, xtitle = "t(s)", ytitle = "v(m/s)") #還可定義xmin,xmax,ymin,ymax vt = gcurve(graph = vtg, color = color.blue) while ...: rate(1000) . . . vt.plot(pos = (t,mag(ball.v))) t += dt ``` ---- [展示一]( https://www.glowscript.org/#/user/andysu960816/folder/MyPrograms/program/Tutorial-airR) ---- ## 實作二:大雜燴 ---- 把這四堂課學的全部放在一起,就是一個 [比較貼近真實的模擬啦](https://www.glowscript.org/#/user/andysu960816/folder/MyPrograms/program/Tutorial-FreeFallevery) --- # 謝謝大家
{"title":"Vpython-空氣阻力","contributors":"[{\"id\":\"084e105f-92be-4605-b399-8d3c0ef40c64\",\"add\":2998,\"del\":773}]"}
    105 views