二次元衝突計算機
x方向に3 m/sで動く2 kgの物体が、−1と2 m/sで動く4 kgの物体と一体になると、1.3743685419 m/s、75.9637565321°の向きに進みます。質量と速度の成分を入力してください。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- M1
- 2
- V1x
- 3
- V1y
- 0
- M2
- 4
- V2x
- -1
- V2y
- 2
- 総質量
- 6 m/s
- 全運動量 x
- 2
- 全運動量 y
- 8
- 最終速度 x
- 0.3333333333
この二次元衝突計算機は、二つの物体が完全非弾性の平面衝突でくっつくとき、ただ一つの共通終速度ベクトルを求めます。速度成分は平面内の向きを表すために正でも負でもよく、質量は非負でなければならず、総質量が零だと終速度は定義できません。演算は完全に決定的で、ネットワーク呼び出しも乱数も日付依存の近道もありません。宿題・実験準備・競技の演習にはブラウザで無料でお使いいただけます。
完全非弾性の二次元衝突の意味と応答に含まれる内容
完全非弾性衝突は、衝突する二つの物体がくっついて一体となり、衝突後に一つの合成体として動く極端な場合です。二次元では運動量保存はベクトルの主張です。短い接触のあいだ外力の衝撃が無視できるなら、衝突前の質量かける速度の和は、衝突後の総質量かける共通終速度に成分ごとに等しくなります。
運動エネルギーは保存されず、失われた運動エネルギーの一部または全部は熱・変形・音として現れますが、この計算機はその損失を推定しません。平面でのくっつきモデルの運動学的結果だけを報告します。向かい合う接近では成分の符号が逆になり、初めに静止している物体は速度成分が両方とも零です。
拒否されるのは質量や速度成分の欠落、非有限値、文書化された上限を超える大きさ、負の質量、総質量が零または数値的に零の場合です。零除算では共通終速度が定義できないためです。一次元の非弾性共通速さだけ、弾性の跳ね返り速度、自由落下時間、摩擦力が必要なら専用ツールをご利用ください。
二次元の非弾性衝突が学習・設計・ソフトウェアで果たす役割
学生は教科書が一次元の運動量からベクトル運動量へ進むとき、実験で斜め衝突後に結合する二つの台車を転がすとき、競技問題が斜めの接近速度を与えて物体が結合した後の共通速度だけを問うときに、平面のくっつき衝突に出会います。
教員は単位を黙って切り替えたり弾性と非弾性を混同したり平面を一軸に潰したりする不透明な電卓アプリに頼らず、控えめな質量と成分の値で解答キーを事前生成できます。
開発者は同じ契約をスクリプトから呼び、ゲーム物理デモ用の決定的テストベクトルを用意し、自由体チェックの前にユーザー入力の衝突パラメータを正規化し、手書きスケッチではなく共通終速度ベクトルを求めるプログラミング課題の文を満たします。
一次の工学・製品チェックでは質量と接近速度成分だけが分かっており、変形・多体接触・摩擦をモデル化する前のくっつき上界として十分なときに公式を使います。
活用例
宿題と実験の確認
二つの質量と平面の初速度から共通終速度成分を求め、ワークシート採点やモーションセンサデータとの比較の前に使います。
チュータリングと設計ソフトウェア
ベクトル運動量の授業、衝突デモ、対話的物理ヘルパーのために、ユーザー入力の質量と接近速度成分を正規化します。
よくある質問
総質量が零だとどうなりますか?
両方の質量が零(または総質量が数値的に零)だと終速度は定義できません。
このツールは弾性衝突や反発をモデル化しますか?
いいえ。 平面での完全非弾性くっつきの共通終速度ベクトルだけを計算します。弾性の跳ね返り速度や反発係数が必要なら別のツールをご利用ください。
なぜ結果は精度に丸められますか?
既定の精度は小数 10 桁で、precision は 0 から 15 に設定できます。
2 kg・3 m/sの物体が4 kg・(−1, 2) m/sの物体とくっつくと、速度はどうなりますか?
x成分0.3333333333 m/s、y成分1.3333333333 m/sで、速さは1.3743685419 m/s、向きは75.9637565321°です。運動量の合計を総質量6 kgで割って求めます。
2次元での共通の最終速度はどう決まりますか?
成分ごとに運動量を足し、総質量で割ります。x方向とy方向を別々に計算し、その結果から速さと向きを求めます。運動エネルギーは保存されません。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/mech/two-body-collision-2d \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"m1":2,"v1x":3,"v1y":0,"m2":4,"v2x":-1,"v2y":2}'const res = await fetch("https://api.kit.forhosting.com/mech/two-body-collision-2d", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"m1": 2,
"v1x": 3,
"v1y": 0,
"m2": 4,
"v2x": -1,
"v2y": 2
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/mech/two-body-collision-2d",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"m1": 2,
"v1x": 3,
"v1y": 0,
"m2": 4,
"v2x": -1,
"v2y": 2
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/mech/two-body-collision-2d", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"m1":2,"v1x":3,"v1y":0,"m2":4,"v2x":-1,"v2y":2}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"m1":2,"v1x":3,"v1y":0,"m2":4,"v2x":-1,"v2y":2}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/mech/two-body-collision-2d", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"m1": 2,
"v1x": 3,
"v1y": 0,
"m2": 4,
"v2x": -1,
"v2y": 2
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "mech.two_body_collision_2d",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
max_abs_mass | 1000000000000000 |
max_abs_velocity | 1000000000000000 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
二つの質量と各物体の初速度の直交成分を入力すると、エンジンは x 軸と y 軸で運動量保存を別々に適用し、v_fx を開き括弧 m1 かける v1x たす m2 かける v2x 閉じ括弧を開き括弧 m1 たす m2 閉じ括弧で割った値として返し、y 成分についても同じ形で v_fy を返します。このモデルでは運動エネルギーは保存されず、運動量ベクトルだけが保存されます。これは二次元における完全非弾性の教科書的定義そのものです。CI、チュータリングソフト、授業デモで再現可能な二次元衝突フィクスチャが必要なときは、成功したリクエストごとに $0.002 の API をご利用ください。
完全非弾性の二次元衝突の意味と応答に含まれる内容
その恒等式から、v_fx は開き括弧 m1 v1x たす m2 v2x 閉じ括弧を開き括弧 m1 たす m2 閉じ括弧で割った閉じた形になり、v_fy も y 成分について同様になります。応答には正規化された入力 m1・v1x・v1y・m2・v2x・v2y、total_mass(m1 たす m2)、total_momentum_x と total_momentum_y、合成体の final_velocity_x と final_velocity_y、そのベクトルのユークリッドノルムとしての final_speed、正の x 軸から atan2 で測った final_angle_deg、使用した精度、メソッドタグ perfectly_inelastic_collision_2d、短い公式の控え、質量がキログラムで速度がメートル毎秒のときの単位ヒント m/s が含まれます。多体接触シミュレーションも反発係数の経路も回転や摩擦のモデルもなく、エンジンは対応する数値範囲内で運動量の商を評価するか、invalid_input で入力を拒否します。このページは二次元の完全非弾性共通速度ベクトルだけに答え、手計算で浮動小数点の段を捏造してはならないワークシート・単体テスト・API 利用者向けに安定した数値出力を返します。
質量と速度成分の読み取り方と v_f の再現性の保ち方
一方の質量が正なら他方の質量零は許され、残った物体が速度ベクトルを保つだけに帰着します。両方の質量が零は総質量が零になってはならないため拒否されます。速度成分は平面内の向きを表すために正・負・零のいずれでもよく、ツールは単位系を自動変換しないので、質量同士を揃え、速度も対応する長さ毎時間の単位にそろえてください。数値文字列の先頭の任意のプラス記号と科学記法は有限小数として解釈できるときに許され、埋め込み空白や非数値トークンは拒否されます。推奨フィールドは二つの質量の m1 と m2、四つの初速度成分の v1x・v1y・v2x・v2y ですが、m1 には mass1・M1・mass_1、m2 には mass2・M2・mass_2、v1x には vx1・velocity1_x・u1x と、他の三成分にも対応する別名を受け付けるため、表計算・クエリ文字列・型付きフォームが同じ契約を再利用できます。質量は有限かつ非負でなければならず、負の質量は invalid_input とフィールド名を含むメッセージで失敗し、誤ったセルが黙って無意味な結果になるのを防ぎます。自動化パイプラインで同じ数学結果が必要なら、このページの無料ブラウザ実行と有料 API を組み合わせ、平面の非弾性衝突公式を自分で再実装せずにご利用ください。
二次元の非弾性衝突が学習・設計・ソフトウェアで果たす役割
製品・教育ツールは学習者が二つの質量と四つの速度成分を打ち、UI が完全非弾性の平面衝突後の合成速度を示す必要があるときにこのエンドポイントを使います。このページでは作業はすべてブラウザ内で行われ、API では成功した照会ごとに $0.002 がかかり、検証失敗は課金されず、応答後に何も保存されません。無料の対話的探索と数学結果が同一の有料 API という分割は KIT のティア A カタログの他項目と一致し、授業デモから自動化パイプラインへ結果を変えずに移れます。運動が共線なら一次元の非弾性ヘルパーと、跳ね返り速度が必要なら弾性衝突ヘルパーと、二次元力学の無料で決定的な物理計算機の小さな実験室を組むなら他の数学エンドポイントと組み合わせてください。
連携の活用例
決定的なテストフィクスチャ
くっつき二次元衝突の単体テスト、ゲーム物理デモ、CI アサーション向けに再現可能な v_fx と v_fy を生成します。
技術的な質問
二次元衝突計算機の料金はいくらですか?
このページではブラウザで無料です。API では成功したリクエストが $0.002、無効な入力は課金されません。
二次元での共通終速度はどう定義されますか?
完全非弾性(くっつき)の平面衝突では v_fx = (m1·v1x + m2·v2x) / (m1 + m2)、v_fy = (m1·v1y + m2·v2y) / (m1 + m2) です。質量を kg、速度を m/s にすると成分も m/s です。