碰撞實驗室

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

設定碰撞條件

維度
情境預設
球 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,網球在混凝土上反彈的大約為 0.75。

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

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

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

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

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

守恆定律是精確無誤的 — 這也是事故調查員和粒子物理學家所依賴的原理。這裡理想化的是其他所有條件:真實物體是在數毫秒內發生形變而非瞬間完成、在偏心受撞時會自旋、會互相摩擦並滾動到停止。請將這些數字視為乾淨實驗所接近的教科書極限,而非對特定真實物體的預測。

探索一維與二維碰撞的物理動態

在物理學中,碰撞是研究動量與能量轉移最直接的現象。「碰撞實驗室」提供了一個直觀且精確的模擬環境,讓使用者能夠自由設定兩顆球體的物理屬性,並在「一維軌道」或「二維平面」中觀察它們的運動與相互作用。

透過調整兩球的質量、初始位置、速度以及代表碰撞彈性程度的「恢復係數 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 消除了解離方向(即兩球實際互相擠壓的連心線方向)上的分離速度。在正向碰撞中,這就是全部的運動,因此它們會一起移動。在斜向碰撞中,每顆球還具有沿著接觸面的側向運動,而光滑、無摩擦的球體沒有摩擦力來抵消它,因此即使反彈消失了,它們的運動路徑依然會分開。要讓它們真正黏在一起需要摩擦力或連鎖結構,而本模型刻意忽略了這些因素。