碰撞實驗室

設定兩球在一維或二維空間中運動,選擇碰撞的彈性程度,並觀察碰撞前後的速度、動量與動能變化。

設定碰撞參數

維度
場景預設
球 1
球 2
播放速度
t = 0.00 s
在暫停時,拖曳球體即可重新定位 — 模擬將從新設定重新開始。

即時數據

球 1球 2Σ
速度 m/s
動量 kg·m/s
動能 J

碰撞前後對比

按下播放 — 在兩球碰撞的瞬間,此對比表會自動填寫。

所使用的公式

動量與動能
p = m·v, KE = ½·m·|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̂), v_rel = v₂ − v₁
正碰彈性碰撞特例 (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.6,網球在混凝土上反彈的 e 大約為 0.75。

為什麼即使動能不守恆,動量仍然守恆?

在碰撞過程中,兩球以大小相等、方向相反的力互相推擠,因此不論一球失去多少動量,另一球就會得到多少動量 — 無論 e 的值是多少,總動量都無法改變。動能則沒有這種保護:在非完全彈性碰撞中,部分動能會轉化為形變、熱能和聲音。碰撞前後對比表準確地顯示了這一點 — 動量行保持其數值,而能量行則有所下降。

為什麼在二維完全非彈性碰撞中,兩球沒有黏在一起?

e = 0 消除了沿中心連線方向(即兩球實際互相擠壓的方向)的分離速度。在正碰中,這就是整個運動,因此它們會一起前進。在斜碰中,每隻球還具有沿接觸面的側向運動,而光滑、無摩擦的球體沒有摩擦力來抵消它,因此即使反彈本身消失了,它們的運動路徑仍然會分開。要讓它們真正黏在一起,需要摩擦力或連鎖結構,而此模型特意省略了這些因素。

這與真實的碰撞有多接近?

守恆定律是精確的 — 這正是車禍調查員和粒子物理學家所依賴的規律。這裡理想化的是其他所有因素:現實中的物體形變需要數毫秒而非瞬間完成、偏心受撞時會自旋、彼此摩擦並滾動到停止。請將這些數字視為乾淨實驗所接近的教科書極限,而非對特定真實物體的預測。

探索一維與二維碰撞的物理規律

「碰撞實驗室」是一個免費的線上教學工具,專為模擬兩球在一維軌道或二維平面上的彈性與非彈性碰撞而設計。使用者可以自由設定兩球的質量、位置、速度以及碰撞的彈性程度,並在動畫區域中即時觀察它們的運動軌跡、速度箭頭以及質心的移動。當兩球相撞的瞬間,系統會自動計算並填寫一份詳盡的對比表,展示碰撞前後每隻球的速度、動量和動能變化,並精確指出在撞擊過程中損失了多少能量。

本工具完全在你的瀏覽器中進行本地計算,你所設定的所有參數和模擬數據絕不會被上傳到任何外部伺服器,確保了操作的私密性。


設定碰撞參數與操作指南

在開始模擬前,你可以透過控制面板自由調整各項物理參數,或直接選擇內建的經典物理場景:

  • 維度選擇:提供「一維軌道」與「二維平面」兩種空間模式。
  • 場景預設:內建多種常見的教科書物理模型,包括「等質量正碰」、「重球撞輕球」、「追撞」、「完全非彈性」以及「二維斜碰」。
  • 恢復係數 e:透過滑桿調節碰撞的彈性,範圍從最小的「完全非彈性」到最大的「彈性」。
  • 球體屬性設定
    • 質量:必須大於 0 kg,且上限為 1000 kg。
    • 位置 x / 位置 y:設定球體在坐標系中的初始位置(位置 y 僅適用於二維平面)。
    • 速度 x / 速度 y:設定球體的速度分量,每個分量必須保持在 ±50 m/s 以內。
  • 互動式定位:在模擬處於「暫停」狀態時,你可以直接在畫面上拖曳球體來重新定位,模擬將會從新的設定起點重新開始。
  • 播放控制:支援「播放」、「暫停」、「單步」(逐幀前進)以及「重設」功能,並可選擇「正常」或「慢速」兩種播放速度。

即時數據與碰撞前後對比

本工具提供直觀的視覺反饋與精確的數據表格,幫助你深入分析碰撞過程:

動畫區域

畫面上設有「顯示兩個球運動和碰撞的動畫區域,標有速度箭頭和質心」,讓你能直觀地看見兩球的運動軌跡與系統質心的移動路徑。

狀態提示

系統會根據當前狀態顯示相應的提示訊息,例如「請設定質量與速度,然後按下播放。」、「模擬運行中。」或「已在 t = ‹t› 秒暫停。」。

即時數據

在模擬運行時,數據面板會即時更新並顯示兩球當前的「速度」、「動量」、「動能」,以及系統整體的「總動量」與「總動能」。

碰撞前後對比

當兩球發生碰撞時,系統會自動記錄並彈出「碰撞前後對比」表(若尚未碰撞,則顯示「按下播放 — 在兩球碰撞的瞬間,此對比表會自動填寫。」)。表格會詳細列出「第 ‹n› 次碰撞,於 t = ‹t› 秒」的數據,並分為「碰撞前」、「碰撞後」與「變化」三欄,對比兩球的「速度」、「動量」與「動能」。若碰撞為非完全彈性,下方會顯示「碰撞中損失的動能:‹value› J(佔碰撞前總動能的 ‹percent›)」。


模擬器的物理公式與計算基礎

本模擬器基於以下經典力學公式進行精確計算,所有公式均以直觀的 Unicode 符號呈現:

  • 動量與動能
    • 動量: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

模擬規則、邊界條件與錯誤提示

為了確保模擬的嚴謹性與教學實用性,系統設定了以下物理假設與輸入限制:

  • 理想化物理假設:本工具為理想化的教學模型,假設球體為光滑圓盤,且系統內無摩擦力、無重力、無自旋,碰撞為瞬時發生,且邊牆為完美反彈(反射球體時不改變其速度)。
  • 無外力干擾:在碰撞之間沒有外力作用,因此位置精確前進,每次碰撞都在一幀內其接觸的精確時刻進行解析,確保快速移動的球不會穿過彼此。
  • 輸入限制與錯誤訊息
    • 若輸入非數值字元,系統會提示:「球 ‹n›‹field›:「‹token›」不是數字。」。
    • 質量必須大於零,否則提示:「球 ‹n›:質量必須大於零。」。
    • 質量上限為 1000 kg,超出時提示:「球 ‹n›:超過 1000 kg 的質量超出了此演示的範圍。」。
    • 速度分量超出 ±50 m/s 時提示:「球 ‹n›:請將每個速度分量保持在 ±50 m/s 以內。」。
    • 若球體初始位置在邊界外,提示:「球 ‹n› 的起點位於區域外 — 請將其移回邊牆內。」。
    • 若兩球在起點重疊,提示:「兩球在起點重疊 — 請在運行前將它們分開。」。

常見問題解答

為什麼即使動能不守恆,動量仍然守恆?

在碰撞過程中,兩球以大小相等、方向相反的力互相推擠,因此不論一球失去多少動量,另一球就會得到多少動量 — 無論 e 的值是多少,總動量都無法改變。動能則沒有這種保護:在非完全彈性碰撞中,部分動能會轉化為形變、熱能和聲音。碰撞前後對比表準確地顯示了這一點 — 動量行保持其數值,而能量行則有所下降。

這與真實的碰撞有多接近?

守恆定律是精確的 — 這正是車禍調查員和粒子物理學家所依賴的規律。這裡理想化的是其他所有因素:現實中的物體形變需要數毫秒而非瞬間完成、偏心受撞時會自旋、彼此摩擦並滾動到停止。請將這些數字視為乾淨實驗所接近的教科書極限,而非對特定真實物體的預測。

恢復係數實際上控制了什麼?

它是兩球分離速度與接近速度的比值,沿著連接兩球中心的直線測量。當 e = 1 時,反彈會恢復完整的接近速度,且動能守恆;當 e = 0 時,兩球完全停止分離 — 在正碰中,它們會像一個整體一樣一起運動。介於兩者之間的所有情況都會損失部分能量:籃球反彈的 e 大約為 0.6,網球在混凝土上反彈的 e 大約為 0.75。

為什麼在二維完全非彈性碰撞中,兩球沒有黏在一起?

e = 0 消除了沿中心連線方向(即兩球實際互相擠壓的方向)的分離速度。在正碰中,這就是整個運動,因此它們會一起前進。在斜碰中,每隻球還具有沿接觸面的側向運動,而光滑、無摩擦的球體沒有摩擦力來抵消它,因此即使反彈本身消失了,它們的運動路徑仍然會分開。要讓它們真正黏在一起,需要摩擦力或連鎖結構,而此模型特意省略了這些因素。