置頂

我的 VPython 教學文件 (HackMD 版本)

VPython 教學文件目錄 安裝及測試 基本語法 等速度直線運動 自由落下 終端速度 水平抛射 使用For迴圈計算水平抛射資料 斜向抛射 圓周運動 簡諧運動 單擺 木塊彈簧系統分離 重力及簡諧 行星運動 相疊木塊 雙重簡諧運動 一維彈性碰撞 ...

熱門文章

2020年3月22日 星期日

於 Google 簡報中插入方程式

作者:王一哲
日期:2020/3/22




前言


最近我在準備下學期的教材,為了能夠便於分享及共同編輯教材,再加上本校資訊組為全校師生申請到 G Suite,我決定採用 Google 簡報製作上課用的投影片,用 Google 文件製作學習單。但是 Google 簡報現在並沒有插入方程式的功能,於是我找到了這個效果不錯但有點麻煩的解決方案。



使用線上工具產生方程式


我通常使用的網站為 latex.codecogs.com,在格子裡輸入方程式對應的 $\LaTeX$ 編碼,例如我想要顯示方程式是加上馬克士威修正的安培定律,需要輸入的編碼如下

\nabla \times \mathbf{B} = \mu_0 \left ( \mathbf{J} + \varepsilon_0 \frac{\partial \mathbf{E}}{\partial t} \right )

網站會自動產生成方程式,可以將它下載並儲存成 gif、png、pdf 或 svg 檔,在此我選擇存成 svg 檔,這樣在放大之後才不會變成馬賽克。
latex.codecogs.com

如果想要改變字體的顏色,例如改為白色,可以將編碼改為
{\color{white} \nabla \times \mathbf{B} = \mu_0 \left ( \mathbf{J} + \varepsilon_0 \frac{\partial \mathbf{E}}{\partial t} \right )}

網站有產生方程式,但因為底色也是白色,所以好像什麼都看不到。


latex.codecogs.com


2020年3月21日 星期六

LibreOffice 方程式編號

作者:王一哲
日期:2020/3/21




測試環境及版本


  1. Lubuntu 19.04
  2. LibreOffice 6.3.4.2



方程式置中並插入編號


於 LibreOffice Writer 的檔案中輸入 fn 再按 F3,軟體就會自動插入一個沒有邊框的表格,左側的儲存格裡有一條方程式,可以在方程式上雙擊滑鼠左鍵編輯方程式,右側的儲存格裡有方程式編號,兩側已經加上半型的括號。

輸入 fn


按 F3 之後的效果

2020年3月2日 星期一

Matplotlib 中文標籤問題

作者:王一哲
日期:2020/3/2

這篇只能算是按照網路上找到的方法,在自己的電腦上測試的筆記,主要參考以下兩篇文章:

  1. 解决Python使用matplotlib绘图时出现的中文乱码问题
  2. PYTHON 如何在Win 10解決matplotlib中文顯示的問題?

Windows 10


如果電腦裡有安裝中易宋體 (SimSun) 或是 中易黑體 (SimHei),可以按照第一篇文章的作法,直接在程式碼裡設定

plt.rcParams['font.sans-serif']=['SimSun']
plt.rcParams['axes.unicode_minus']=False

或是

plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False

但如果沒有安裝對應的字體,則要按照第二篇文章的作法,先安裝思源宋體,這是下載字體的連結。再到下列的檔案裡找到對應的字體名稱

C:\Users\[使用者名稱]\.matplotlib\fontlist-v310.json

例如我使用的是 NotoSansCJKtc 系列的字體,名稱是 Noto Sans CJK TC。以下是我試著使用中文標籤的程式碼,測試的環境為 Windows 10 家用版、Python 3.7.5、matplotlib 3.1.1。

2020年2月28日 星期五

角動量守恆

作者:王一哲
日期:2020/12/23




物理情境


若質量可忽略的桿子長度為$2R$,桿子兩端各連接一顆質量為$m$的球,放置於水平光滑桌面上,以桿子的中央、垂直射出桌面方向為轉軸,起始的角速度為$\omega$。如果小球的旋轉半徑隨著時間縮短,假設後來的旋轉半徑為$R'$、角速度為$\omega'$,根據角動量守恆可得

$$mR^2 \omega = mR'^2 \omega' ~\Rightarrow~ \omega' = \left( \frac{R}{R'} \right)^2 \omega$$

所以當兩個球距離變近時,旋轉的角速率會跟著變快。





模擬程式畫面截圖



2020年1月19日 星期日

109學測自然科物理試題解析

作者:王一哲
日期:2020/1/19



試題與詳解


  1. 下列甲、乙、丙三個敘述為原子內部結構探究的三個過程,依發生時間先後排序
    何者正確?
    甲:夸克的發現。
    乙:電子只在特定軌道運行。
    丙:利用α粒子撞擊金箔,發現原子核的存在。
    (A)甲乙丙  (B)甲丙乙  (C)乙丙甲  (D)乙甲丙  (E)丙乙甲

答案:E
層次:知識
難度:易
章節:近代物理
詳解:
甲:蓋爾曼 (Murray Gell-Mann) 與茨威格 (George Zweig) 於 1964 年分別提出夸克模型,史丹佛線性加速器中心(SLAC)於 1968 年的實驗中找到夸克。
乙:波耳 (Niels Henrik David Bohr) 於 1913 年提出氫原子模型,假設電子存在於特定軌道上時不會輻射出能量。
丙:拉塞福 (Ernest Rutherford) 於 1909 年進行拉塞福散射實驗 (Rutherford scattering),用α粒子撞擊金箔,並由α粒子的散射角度與數量的關係發現原子核的存在。


  1. 王君搭乘熱氣球在廣闊無風的平原上空觀賞風景,熱氣球以等速度 5.0 m/s 鉛直上升時,王君不小心使相機從離地高度為 100 m 處離手而成為自由落體,若不計空氣阻力並取重力加速度為 10 m/s2,則相機著地前瞬間的速度量值約為多少 m/s?
    (A)55   (B)45   (C)35   (D)25   (E)15

答案:B
層次:應用
難度:易
章節:力與運動
詳解:
$$v^2 = v_0^2 + 2as$$

$$v^2 = 5^2 + 2 \times (-10) \times (-100)$$

$$v^2 = 2025$$

$$v = 45 ~\mathrm{m/s}$$

2020年1月15日 星期三

利用反作用力後退

作者:王一哲
日期:2020/1/15




題目


假設有一個裝置本體的質量 $M$,裝置上載有一些即將被水平拋出的物體,物體的總質量為 $m$,且$M>m$。假設總共拋出 $N$ 次,則每次拋出的物體質量 $dm = m/N$,被拋出的物體相對於拋出後本體的速度為 $v$。請問將所有物體拋出後本體的速度$v_t$與拋出次數$N$的關係為何?



理論計算


第1次拋出物體後本體對地速度為 $v_1$,被拋出的物體對地速度為 $v + v_1$,由動量守恆可知

$$(M+m-dm) v_1 + dm (v+v_1) = 0$$
$$v_1 = -\frac{dm \cdot v}{M+m}$$

第2次拋出物體後本體對地速度為 $v_2$,被拋出的物體對地速度為 $v + v_2$,由動量守恆可知

$$(M+m-2dm) v_2 + dm (v+v_2) = (M+m-dm) v_1$$

$$\begin{align*}
v_2 &= \frac{-dm \cdot v + (M+m-dm) v_1 }{M+m-dm} \\
&= -\frac{dm \cdot v}{M+m-dm} + v_1 \\
&= -dm \cdot v \left(\frac{1}{M+m-dm} + \frac{1}{M+m} \right)
\end{align*}$$

第3次拋出物體後本體對地速度為 $v_3$,被拋出的物體對地速度為 $v + v_3$,由動量守恆可知

$$(M+m-3dm) v_3 + dm (v+v_3) = (M+m-2dm) v_2$$

$$\begin{align*}
v_3 &= \frac{-dm \cdot v + (M+m-2dm) v_2 }{M+m-2dm}\\
&= -\frac{dm \cdot v}{M+m-2dm} + v_2\\
&= -dm \cdot v \left(\frac{1}{M+m-2dm} + \frac{1}{M+m-dm} + \frac{1}{M+m} \right)
\end{align*}$$

2019年12月31日 星期二

木棍轉動落下所需時間

作者:王一哲
日期:2019/12/1




前言


我最近在 YouTube 上看到李永樂老師的一部影片:家長輔導小學生作業崩潰:抽出我“40米長大砍刀”,你有幾秒逃生時間?,李老師在影片中很正經地用物理理論,計算40米長大砍刀轉動落下所需時間,這樣一本正經地講解奇怪的東西也挺有趣的。以下用兩種方法計算類似的問題,但是為了使情境稍微正常一點,我將物體改為長度為$L = 1 ~\mathrm{m}$、質量均勻分布的木棍,下端立於水平桌面上,木棍與桌面的夾角$\theta$原為89°,並假設落下過程中木棍不會滑動。



理論計算


假設木棍的質量為$m$且質量均勻分布,長度$L = 1 ~\mathrm{m}$,下端立於水平桌面上,木棍與桌面的夾角原為$\theta_0 = 89^{\circ}$,受到重力作用由靜止開始落下,重力加速度$g = 9.8~\mathrm{m/s^2}$

若以下端為轉軸,則轉動慣量
$$I = \frac{1}{3}mL^2$$

重力產生的力矩
$$\tau = \frac{1}{2}mgL \cos \theta$$

角加速度
$$\alpha = \frac{\tau}{I} = \frac{3g \cos \theta}{2L}$$

由於轉動動能
$$K = \frac{1}{2}I \omega^2$$

當木棍與水平方向夾角為$\theta$時,角速度為$\omega$,由力學能守恆可得
$$\frac{1}{2} \cdot \frac{1}{3}mL^2 \cdot \omega^2 + \frac{1}{2}mgL \sin \theta = 0 + \frac{1}{2}mgL \sin \theta_0$$

$$\omega = \sqrt{\frac{3g(\sin \theta_0 - \sin \theta)}{L}}$$

假設木棍轉動一個很小的角位移$d \theta$,由於$\omega$與$d \theta$反方向,所需時間為
$$dt = -\frac{d \theta}{\omega}$$

當角度由$\theta_0$變為$\theta$時,可以算出經過的時間
$$t = \int_0^t dt = \int_{0}^{\theta_0} \frac{d \theta}{\omega} = \sqrt{\frac{L}{3g}}\int_{0}^{\theta_0} (\sin \theta_0 - \sin \theta)^{-\frac{1}{2}} d \theta$$

無法得到解析解,可以求數值解。利用SymPy計算角度$\theta$由$89^{\circ}$開始,變為$88^{\circ}$、$87^{\circ}$、……、$0^{\circ}$所經過的時間,程式碼寫法如下

2019年12月23日 星期一

U 形物體與木塊系統的動量守恆

作者:王一哲
日期:2019/12/23




題目


在水平光滑桌面上有一個質量為 1.8 kg 的 U 形物體,左、右兩側各連接一條原長為 0.5 m、彈性常數為 5.0 N/m 的理想彈簧,將一個質量為 0.2 kg 的木塊放在水平底面上,將右側的彈簧向右壓縮 0.2 m,整個系統原為靜止,假設摩擦力可以忽略,將木塊釋放後整個系統會如何運動?


模擬動畫畫面截圖



理論推導


由於右側彈簧原來被壓縮,右側彈簧的回復力會將木塊往左推、將 U 形物體往右推;當木塊開始壓縮左側的彈簧時,左側彈簧的回復力會將木塊往右推、將 U 形物體往左推;由於整個系統所受外力合為0,系統動量守恆,質心速度為0。



2019年12月20日 星期五

Matplotlib 繪圖技巧:移動的點

作者:王一哲
日期:2019/12/20




前言


在這篇文章中,我利用 Matplotlib 繪製一個隨著 sin 函數移動的點,由於圖片中的物件比較簡單,算是上一篇文章〈Matplotlib 繪圖技巧:水波干涉動畫〉的前置作業。


使用Matplotlib產生的動畫



2019年12月14日 星期六

小球與圓環碰撞

作者:王一哲
日期:2019/12/14




題目


在水平光滑桌面上有一個質量為$m_1$的小球及一個質量為$m_2$的圓環,小球放置於圓環的圓心處。若兩者原為靜止,用手撥動小球,使小球以初速度$v_1$向右移動,小球與圓環之間為彈性碰撞,請問兩者會如何運動?


模擬動畫畫面截圖



理論推導


當小球開始運動之後,小球與圓環系統所受外力合為0,因此系統動量守恆,質心速度為定值、方向向右。小球向右移動,第1次撞擊圓環時使圓環開始向右移動,小球的速度變慢或反向移動;接下來小球撞擊圓環左側,使圓環減速、小球向右移動;不斷重複這個過程,整個系統向右移動。