探索一維與二維碰撞的物理動態
在物理學中,碰撞是研究動量與能量轉移最直接的現象。「碰撞實驗室」提供了一個直觀且精確的模擬環境,讓使用者能夠自由設定兩顆球體的物理屬性,並在「一維軌道」或「二維平面」中觀察它們的運動與相互作用。
透過調整兩球的質量、初始位置、速度以及代表碰撞彈性程度的「恢復係數 e」,本工具能即時模擬出符合物理定律的動態軌跡。當兩球發生碰撞時,系統會自動記錄並呈現碰撞前後的各項物理量變化,幫助使用者深入理解守恆定律在不同維度與彈性條件下的實際運作。
設定碰撞條件與輸入參數
要開始一次碰撞模擬,使用者可以透過控制面板調整以下各項參數與設定:
- 維度:可選擇「一維軌道」進行直線碰撞,或選擇「二維平面」觀察斜向碰撞。
- 情境預設:內建多種經典物理模型,包括「等質量正向碰撞」、「重球撞輕球」、「追撞」、「完全非彈性碰撞」以及「二維斜向碰撞」。
- 恢復係數 e:透過滑桿控制碰撞的彈性,範圍從「完全非彈性」(最小值)到「完全彈性」(最大值)。
- 球 1 與球 2 屬性:
- 質量:必須大於零,且上限為 1000 kg。
- 位置 x 與 位置 y(僅二維需要):設定球體的初始坐標。
- 速度 x 與 速度 y(僅二維需要):設定球體的速度分量,限制在 ±50 m/s 以內。
- 互動式定位:在模擬暫停時,使用者可以直接在動畫區域中拖曳球體來重新定位,模擬將會從新的設定重新開始。
- 播放速度:可選擇「正常」或「慢速」以利觀察細微的碰撞過程。
- 模擬控制:提供「播放」、「暫停」、「單步」(逐格前進)及「重設」等操作按鈕。
即時數據與碰撞前後對照
本工具在運行時會即時計算並呈現多項關鍵數據,分為即時狀態與碰撞前後對照兩大部分:
顯示兩球移動與碰撞的動畫區域,標有速度箭頭與質心
在模擬的主畫面中,兩顆球體會依據設定的速度移動,畫面上會清楚標示出每顆球的速度向量箭頭,以及兩球系統的共同質心位置。
即時狀態
在模擬運行的過程中,系統會顯示目前的狀態訊息,例如「設定質量與速度,然後按下播放。」、「模擬執行中。」或「已在 t = ‹t› 秒暫停。」。同時,右側的數據表會即時更新以下數值:
- 速度
- 動量
- 動能
- 總動量
- 總動能
碰撞前後對照
當兩球相撞的瞬間,系統會自動填入對照表,記錄「第 ‹n› 次碰撞,於 t = ‹t› 秒」的精確數據。此表格包含「變化量」以及碰撞前、後的對比:
| 物理量 | 球 1 (碰撞前/後/變化) | 球 2 (碰撞前/後/變化) | 系統總和 (碰撞前/後/變化) |
|---|---|---|---|
| 速度 | 記錄球 1 的速度變化 | 記錄球 2 的速度變化 | - |
| 動量 | 記錄球 1 的動量變化 | 記錄球 2 的動量變化 | 顯示「總動量」是否守恆 |
| 動能 | 記錄球 1 的動能變化 | 記錄球 2 的動能變化 | 顯示「總動能」的損耗 |
在對照表下方,系統會明確指出「碰撞中損失的動能:‹value› J(佔碰撞前總動能的 ‹percent›)」。
模擬背後的物理公式
本模擬器採用標準物理學公式進行精確計算,所有計算均在背景即時完成:
- 動量與動能:
- 動量:p = m·v
- 動能:KE = ½·m·|v|²
- 沿連心線方向的碰撞(設 n̂ 為連接兩球心的單位向量,相對速度 v_rel = v₂ − v₁):
- 衝量大小:j = −(1 + e) · (v_rel · n̂) ÷ (1/m₁ + 1/m₂)
- 碰撞後速度:v₁′ = v₁ − (j/m₁)·n̂ 且 v₂′ = v₂ + (j/m₂)·n̂
- 恢復係數定義:e = −(v_rel′ · n̂) ÷ (v_rel · n̂)
- 正向完全彈性碰撞特例 (e = 1):
- v₁′ = ((m₁ − m₂)·v₁ + 2·m₂·v₂) ÷ (m₁ + m₂)
- 正向完全非彈性碰撞特例 (e = 0):
- 碰撞後共同速度:v′ = (m₁·v₁ + m₂·v₂) ÷ (m₁ + m₂)
- 碰撞之間:
- 位置更新:x ← x + v·Δt
物理假設與邊界規則
為了提供一個清晰且便於教學的物理模型,本模擬器基於以下理想化假設與規則運行:
- 理想化物理假設:本系統為一個理想化的教學模型,假設球體為光滑圓盤、無摩擦力、無重力作用、無自旋,且碰撞為瞬間發生。
- 無外力干擾:在碰撞之間沒有外力作用,因此球體的位置前進是精確計算的,而非數值近似值。
- 精確碰撞解析:每次碰撞都在影格內接觸的精確時刻進行解析,即使是快速移動的球體也絕不會發生互相穿透或滑過的現象。
- 邊牆反射:模擬區域的邊牆為完全彈性,當球體撞擊邊牆時,會以相同速率反彈,不損失任何動能。
- 恢復係數的物理意義:當 e = 1 時,系統總動能完全守恆。當 e = 0 時,兩球沿連心線方向的相對分離速度降為零。在二維斜向碰撞中,若 e = 0,由於球體表面無摩擦力,兩球仍會保有沿著接觸面切線方向的側向速度,因此它們不會黏在一起移動。
輸入限制與錯誤提示
為了確保模擬的穩定性與物理合理性,系統設有嚴格的輸入限制,並會在不符規範時顯示對應的錯誤訊息:
- 數值格式錯誤:若輸入非數字字元,顯示「球
‹n›,‹field›:「‹token›」不是數字。」。 - 質量限制:質量必須大於零且不可超過 1000 kg。
- 若小於或等於零,顯示「球
‹n›:質量必須大於零。」。 - 若超過上限,顯示「球
‹n›:超過 1000 kg 的質量超出了此演示的範圍。」。
- 若小於或等於零,顯示「球
- 速度限制:每個速度分量必須保持在 ±50 m/s 以內,否則顯示「球
‹n›:請將每個速度分量保持在 ±50 m/s 以內。」。 - 位置限制:
- 若球體初始位置超出邊牆,顯示「球
‹n›的起點在區域外 — 請將其移回邊牆內。」。 - 若兩球在模擬開始前就發生重疊,顯示「兩球在起點重疊 — 請在執行前將它們分開。」。
- 若球體初始位置超出邊牆,顯示「球
隱私與運算說明
整個模擬都在此瀏覽器中執行 — 您輸入的任何設定都絕不會被上傳。所有的物理軌跡計算與數據分析皆在您的本機裝置上即時完成,保障您的操作隱私。
常見問題
為什麼即使動能不守恆,動量依然守恆?
在碰撞過程中,兩球以大小相等、方向相反的力互相推擠,因此不論一球失去多少動量,另一球就會得到多少動量 — 無論 e 的值為何,總動量都不會改變。動能則沒有這種保護:在非完全彈性碰撞中,部分動能會轉化為形變、熱能和聲音。碰撞前後對照表精確地呈現了這一點 — 動量列保持其數值,而能量列則下降。
這與真實的碰撞有多接近?
守恆定律是精確無誤的 — 這也是事故調查員和粒子物理學家所依賴的原理。這裡理想化的是其他所有條件:真實物體是在數毫秒內發生形變而非瞬間完成、在偏心受撞時會自旋、會互相摩擦並滾動到停止。請將這些數字視為乾淨實驗所接近的教科書極限,而非對特定真實物體的預測。
恢復係數實際上控制了什麼?
它是兩球分離速度與接近速度的比值,沿著連接兩球中心的直線測量。當 e = 1 時,反彈會回復完整的接近速度,且動能守恆;當 e = 0 時,球體完全停止分離 — 在正向碰撞中,它們會像一個整體一樣一起移動。介於兩者之間的所有情況都會損失部分能量:籃球反彈的 e 大約為 0.6,網球在混凝土上反彈的大約為 0.75。
為什麼在二維完全非彈性碰撞中,兩球沒有黏在一起?
e = 0 消除了解離方向(即兩球實際互相擠壓的連心線方向)上的分離速度。在正向碰撞中,這就是全部的運動,因此它們會一起移動。在斜向碰撞中,每顆球還具有沿著接觸面的側向運動,而光滑、無摩擦的球體沒有摩擦力來抵消它,因此即使反彈消失了,它們的運動路徑依然會分開。要讓它們真正黏在一起需要摩擦力或連鎖結構,而本模型刻意忽略了這些因素。