弾性衝突計算機
3 m/sで進む2 kgの物体が静止した1 kgの物体に当たると、1つ目は1 m/sに、2つ目は4 m/sになります。運動量は6 kg·m/s、運動エネルギーは9 Jのまま保たれ、その確認も表示します。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 物体1の質量
- 2
- 物体2の質量
- 1
- V1
- 3
- V2
- 0
- 衝突後の V1
- 1
- 衝突後の V2
- 4
一次元の弾性衝突とは、一直線上を動く二つの物体が熱・変形・音に運動エネルギーを失わずに運動量をやり取りする衝突です。古典モデルでは各質量と各初速度が既知であり、線運動量の保存と運動エネルギーの保存から二つの終端速度を同時に解きます。閉形式解は入門力学のどのコースでも標準で、物体1は二つの初速度の重み付き混合で離れ、物体2は相補的な混合で離れます。等質量なら速度をそのまま交換し、軽い球が重い壁に当たればほぼ反転し、重いトラックが静止した小石に当たればトラックはほとんど減速せず小石が前方へ飛びます。本計算機はその解析的な公式対を決定的な浮動小数点演算で実装し、終端速度に加え運動量とエネルギーの検査表を返し、負の質量を明確な検証エラーで拒否します。
一次元弾性衝突の解き方
短い接触区間のあいだ、選んだ軸に沿ってのみ相互作用する二つの質点質量 m1 と m2 から始めます。v1 と v2 を接触直前の速度とし、正の向きが両方で同じになるよう符号付けします。孤立とは、衝突線に沿う外力が相互衝撃に比べ無視できることを意味し、したがって総線運動量 m1 v1 プラス m2 v2 は前後で同じです。
完全弾性とは、総運動エネルギー二分の一 m1 v1 の二乗プラス二分の一 m2 v2 の二乗も前後で同じであること、あるいは相対速度が大きさを保ったまま符号を反転することと同等です。二つの未知数に対するその二つのスカラー方程式を解くと教科書の閉形式が得られます。
物体1の終端速度は括弧 m1 マイナス m2 閉じ括弧を括弧 m1 プラス m2 閉じ括弧で割ったものに v1 を掛け、さらに二倍の m2 を括弧 m1 プラス m2 閉じ括弧で割ったものに v2 を掛けて足したもの;物体2の終端速度は二倍の m1 を括弧 m1 プラス m2 閉じ括弧で割ったものに v1 を掛け、括弧 m2 マイナス m1 閉じ括弧を括弧 m1 プラス m2 閉じ括弧で割ったものに v2 を掛けて足したものです。
特殊ケースは自動的に現れます。等質量なら速度交換、m2 が無限大に近づき v2 がゼロなら物体1はほぼマイナス v1 へ反転、m1 が m2 よりはるかに大きく v2 がゼロなら物体1はほぼ v1 を保ち物体2は約二倍の v1 で離れます。古典質量は非負のため負の質量は拒否され、閉形式が総質量で割るため両質量ゼロも拒否されます。
送る内容と返ってくる内容
質量は通常キログラム、速度はメートル毎秒ですが、両質量が同じ質量単位を、両速度が同じ速さ単位を共有するなら任意の一貫単位系で構いません。負の m1 または負の m2 は、古典弾性衝突では質量が負になれないというメッセージで失敗します。
教科書的な確認例には、第二体が静止し三メートル毎秒で二キログラムが一キログラムに当たる場合、五とマイナス二メートル毎秒を交換する等質量、重い静止ブロックで跳ね返る軽い質量があります。宿題と素早い健全性チェックには無料ブラウザフォームを配線し、大量解答キー・シミュレーション固定値・採点オラクルが必要なときはスクリプトから同一契約を呼び出してください。
実験報告書全体で符号規約を固定し、正が常に図上の同じ向きを意味するようにしてください。
弾性衝突計算機が実際の仕事で現れる場面
高校および大学初年次の物理では、多次元や非弾性への一般化の前に一次元弾性衝突ドリル、等質量の速度交換証明、壁反射極限を課します。信頼できる単一オラクルは採点とデモ準備を速めます。ゲームエンジンや対話型教材シミュレーションは、完全な剛体ソルバが過剰な無粘性ビリヤード風接触に閉形式の弾性スタブをしばしば必要とします。
ロボティクスやコンベヤ実験室は、測定した衝突前速度と既知の台車質量から低摩擦軌道上の二台車の衝突後速度を見積もります。スポーツ科学スタッフは、測定された反発係数の前の第一境界として弾性理想化の下でボールとラケット、またはパックとスティックの質量比を期待跳ね返り速度に変換します。
後に反発係数付き非弾性衝突、二次元の斜め衝突、相対論的衝突、衝突モデルなしの線運動量積だけが必要なら、この一次元弾性衝突計算機ページを過負荷にするのではなく別の検索意図とランディングとして扱ってください。
活用例
宿題・実験の解答キー
教科書的な一次元弾性対について終端速度・運動量表・運動エネルギー検査を生成し、教員と自動採点が一つの基準真理を共有できるようにします。
シミュレーションとゲーム物理のスタブ
毎フレーム完全な接触ソルバを積分せずに、ビリヤード・台車・教材デモへ閉形式の弾性結果を組み込みます。
軌道・コンベヤの衝突見積もり
弾性理想化の下で、測定した衝突前速度と既知質量から低摩擦レール上の台車の衝突後速度を見積もります。
よくある質問
この弾性衝突計算機はどの公式を使いますか?
運動量と運動エネルギーの保存から得た一次元完全弾性の閉形式結果です。v1f = ((m1−m2)/(m1+m2))·v1 + (2·m2/(m1+m2))·v2 および v2f = (2·m1/(m1+m2))·v1 + ((m2−m1)/(m1+m2))·v2。
等質量は速度を交換しますか?
はい。 m1 が m2 と等しいとき公式は v1f = v2 と v2f = v1 に帰着し、等質量正面弾性衝突の古典的な速度交換結果になります。
運動エネルギーは同じままですか?
完全弾性モデルでははい。応答は初期・終期の運動エネルギーと保存フラグを含み、毎回浮動小数点の保存を確認できます。
質量に負の値を入れるとどうなりますか?
受け付けられません。古典力学の質量は0以上なので、負の質量は入力の誤りとして扱います。また、2つの質量がどちらも0の場合も、合計質量で割る式が使えないため計算しません。
軽い物体が静止した重い物体に当たるとどうなりますか?
軽い物体はほぼ同じ速さで跳ね返ります。重い壁に当たったボールと同じです。逆に重い物体が静止した軽い物体に当たると、重い物体はほとんど減速せず、軽い物体はその約2倍の速さで飛び出します。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/mech/elastic-collision \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"m1":2,"m2":1,"v1":3,"v2":0}'const res = await fetch("https://api.kit.forhosting.com/mech/elastic-collision", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"m1": 2,
"m2": 1,
"v1": 3,
"v2": 0
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/mech/elastic-collision",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"m1": 2,
"m2": 1,
"v1": 3,
"v2": 0
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/mech/elastic-collision", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"m1":2,"m2":1,"v1":3,"v2":0}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"m1":2,"m2":1,"v1":3,"v2":0}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/mech/elastic-collision", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"m1": 2,
"m2": 1,
"v1": 3,
"v2": 0
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "mech.elastic_collision",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
無料のブラウザツールと有料APIは同一の純粋同型関数を共有するため、宿題デモと自動パイプラインが同じ入力で食い違うことはありません。
一次元弾性衝突の解き方
パイプライン全体は乱数シード・壁時計タイムスタンプ・ネットワーク呼び出し・モデルドリフトのない決定的浮動小数点演算であり、同一入力は常に同一 JSON を生みます。NaN や Infinity などの非有限数は invalid_input で失敗し、推測ではなく単位修正を促します。
送る内容と返ってくる内容
フィールド m1、m2、v1、v2 の下に必須の有限数を四つ送ってください。欠落フィールド、非数値文字列、NaN、Infinity は invalid_input で失敗し課金されません。両質量がゼロのときは公式がゼロ除算になるためリクエストは失敗します。成功時は清掃済み入力、主回答としての v1_final と v2_final、初期・終期の部分および総運動量と保存フラグを持つ momentum ブロック、エネルギー用の同構造 kinetic_energy ブロック、接近率が符号反転した分離率と等しいことを確認する relative_velocity ブロック、elastic_1d_closed_form に設定された method、印刷可能な公式文字列、単位ヒントを返します。成功 API 呼び出しの料金は公開ベースの $0.002 毎項目で、検証失敗は前払い残高を消費しません。
弾性衝突計算機が実際の仕事で現れる場面
本能力は純粋な parse エンジンのため、API 料金は成功項目ごとに公開ベース $0.002 で、検証失敗は残高を消費しません。
技術的な質問
質量が負だとどうなりますか?
リクエストは invalid_input で失敗します。古典質量は負になれず、エラーメッセージがフィールド(m1 または m2)を示すので入力を修正できます。
料金はいくらですか?
ブラウザツールは無料でローカル実行です。API リクエストは成功項目ごとに $0.002 の前払い KIT 残高を使い、無効入力は課金されません。