
物理力學沙盒
拖曳、碰撞、換重力環境,再用公式驗證結果。
滑鼠或手指拖曳物體;聚焦畫面後:方向鍵移動選取的物體、Delete 刪除、空白鍵暫停/繼續。
更多
動量 0 kg·m/s物體數 0即時曲線(最近 10 秒模擬時間)
ⓘ 怎麼看這張圖
拖曳物體時手在對物體做功,總能量會改變;恢復係數小於 1、摩擦或空氣阻力會讓總能量下降。速率與高度曲線需要先點選一個物體。
試試這些實驗
進階:公式驗證與模擬方法
公式驗證
在獨立的模擬世界中重現課本情況,並與公式比較:自由落體 y = y₀ − ½gt²;一維正碰的動量與動能守恆;斜面滑塊 a = g(sinθ − μcosθ)。
| 項目 | 理論值 | 模擬值 | 誤差 | 結果 |
|---|
模擬方法與限制
- 固定時間步長 1/60 秒,每步再分 8 個子步;碰撞採用累積衝量的循序解法(含摩擦與恢復係數),重力項用速度 Verlet 積分。
- 方塊是可旋轉的剛體;牆與斜坡固定不動。牛頓擺的球之間保留約 1 公分間隙,讓碰撞依序傳遞。
- 每種球體與材質有自己的密度、彈性倍率與摩擦倍率(相對於「標準」的 1×):兩個物體碰撞時取兩者倍率的幾何平均,再乘上環境參數。
- 數值模擬有離散誤差:高速碰撞或極小物體可能穿透,堆疊會有微小下沉。
- 單位:長度公尺、質量公斤、時間秒。畫面左下角的比例尺為 1 公尺。
使用說明與常見問題
這個工具能做什麼
物理力學沙盒讓你在瀏覽器裡做力學實驗。它有 13 個實驗場景(自由落體與彈跳、彈跳比賽、空氣阻力、牛頓擺、斜面、碰撞球台、堆疊塔、骨牌連鎖、保齡球、單擺、拋體砲台等),36 種球體和 36 種材質,還能換成地球、月球、火星、木星或無重力的環境,並調整恢復係數、摩擦和空氣阻力。
畫面會即時顯示動能、位能和總能量,還有能量、速率和高度的曲線,並可以用公式驗證結果。所有計算都在你的瀏覽器裡完成,不會上傳。
站長的話
這裡的程式,是我平常會用的,或是朋友和我自己的想法。希望物理力學沙盒能讓你動手玩一玩,看看課本裡的公式在畫面上是怎麼動起來的,也希望你會喜歡。
使用步驟
- 在「實驗場景」選一個場景,場景上方會顯示這個場景的目標。按「重設場景」可以讓物體回到起點。
- 用滑鼠或手指直接拖曳物體,鬆手就能把它甩出去。想慢慢看,可以按「⏸ 暫停」、「單步 ▸」,或把模擬速度調成 0.25×、0.5×、1×、2×。
- 在「加入」分頁按「+ 球體」「+ 方塊」「+ 斜坡」,並從 36 種球體或 36 種材質選外觀。「進階設定(大小、質量、畫牆)」可以改新物體的大小(0.1 到 0.8 公尺)和質量(0.05 到 1000 公斤),也能「✎ 在畫面拖曳畫牆/斜坡」。
- 在「環境」分頁選地球(9.81)、月球(1.62)、火星(3.71)、木星(24.79)或無重力(0),單位是 m/s²,也可以自己輸入 0 到 50 的重力。恢復係數 e、摩擦係數 μ 和空氣阻力係數 k 都是 0 到 1。
- 在「選取」分頁點選一個物體,可以看它的速度、加速度和動能,修改質量和角度、換外觀、停止或刪除它。
- 畫面下方的「即時曲線」可以切換成能量、速率或高度,顯示最近 10 秒的模擬時間。速率和高度要先選取一個物體才看得到。
- 「檔案」分頁可以「↓ 匯出 JSON」把場景存成 physics-scene.json,之後「↑ 匯入 JSON」;也可以「↓ 匯出實驗數據 CSV」得到 physics-data.csv,內容是最近 10 秒的時間、動能、位能、總能量,以及選取物體的速率與高度。上方的「截圖」會存成 PNG 圖片。
- 「拋體砲台」和「單擺週期」場景會多出「實驗」分頁:砲台可調發射角度(10 到 80 度)和初速(4 到 20 m/s),單擺可調擺長(0.8 到 4 公尺)和起始角度(5 到 60 度)。
適合的情境
- 課堂示範:同一個球在地球和月球上彈起的高度、下落的快慢有什麼不同。
- 比較不同材質:鋼珠、橡膠球、泡棉球從同一高度落下的反彈。
- 自學自由落體、動量守恆、斜面與摩擦、拋體運動、單擺週期。
- 把實驗數據匯出成 CSV,在試算表裡畫圖或做作業。
小技巧與限制
- 動能加位能是總能量。用手拖曳物體時,手在對物體做功,所以總能量會改變;恢復係數小於 1、摩擦或空氣阻力則會讓總能量下降。
- 每種材質有自己的彈性和摩擦倍率,兩個物體碰撞時取兩者的幾何平均,再乘上你在「環境」設定的數值,所以同樣的 e,不同材質的彈跳也不一樣。
- 畫面最多放 150 個物體,超過時請先刪除一些。
- 這是數值模擬,有離散誤差:速度很快的碰撞或極小的物體可能穿透,堆疊的物體會有微小的下沉。可以把模擬速度調慢,或放大物體。
- 聚焦在畫面上後,可以用方向鍵移動選取的物體、Delete 刪除、空白鍵暫停或繼續。
- 場景不會自動保存,離開頁面就會回到預設。想保留請先匯出 JSON。只有「顯示」選項(速度向量、格線、數值標籤)和曲線種類會被記住。
- 單位是公尺、公斤、秒,畫面左下角的比例尺代表 1 公尺。
常見問題
實驗數據要怎麼拿來畫圖?
按「↓ 匯出實驗數據 CSV」,用試算表打開 physics-data.csv,把時間欄當作橫軸,其他欄位當作縱軸就能畫圖。內容是最近 10 秒的模擬數據。
為什麼速率或高度曲線是空的?
這兩條曲線是顯示選取物體的數據,要先在畫面上點選一個物體,或用「選取下一個物體」。
「執行驗證」在做什麼?
它在另一個獨立的模擬世界裡重現課本的情況,包含自由落體、一維正碰的動量與動能守恆、斜面滑塊,並把模擬值和公式算出的理論值比較,列出誤差與是否通過。
物體穿過牆壁或其他物體了,是壞掉嗎?
不是。這是數值模擬的限制:物體太小或速度太快時,一個時間步長內可能直接跨過去。把模擬速度調慢、放大物體,或降低速度試試。
手機可以玩嗎?
可以,拖曳物體用手指就行,控制面板會分成「加入」「環境」「選取」「檔案」幾個分頁。