重心速度計算機
2 kgで3 m/sの粒子と、静止した1 kgの粒子からなる系では、重心は2 m/sで動き、全運動量は6 kg·m/sです。各粒子の質量と向きを含めた速度を入力すると、系全体の代表速度が分かります。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
粒子系の質量中心は、全質量が一点に集中し、すべての外力がそこに作用するかのように運動します。一次元ではその速度は各粒子速度の質量加重平均です。学生は運動量保存の問題の前にこの恒等式を使い、ロボティクスやゲームエンジンは多体の運動を一つの参照速度へ落とすために使います。本計算機は質量と符号付き速度を持つ粒子の一覧を受け取り、全質量・全運動量・重心速度を返し、ゼロ除算になる全質量ゼロを拒否します。
実務で重心速度が現れる場面
カリキュラム作者と LMS プラグインは、欠陥のある採点器が受け入れかねない Infinity を黙って出す代わりに全質量ゼロを拒否する決定論的オラクルを必要とします。ゲームエンジンと対話型教材デモは、剛体ソルバが過剰な非粘性多粒子スタブに閉じた形の COM 速度をしばしば必要とします。
スポーツ科学とバイオメカニクスは、近似的な線形運動量チェックとしてセグメント質量とセグメント速度から実効システム速度を見積もることがあります。検証失敗は残高を消費しません。のちに弾性・非弾性衝突の結果、単体の線形運動量のみ、座標からの重心位置が必要なら、本粒子系速度ページに載せず別の検索意図とランディングとして扱ってください。
活用例
衝突前の重心系の準備
一次元多体実験向けに、手計算の加重平均ミスなしで系速度の前後表を組み立てます。
よくある質問
この重心速度計算機はどの式を使いますか?
結果は一貫した単位(速度は通常 m/s、運動量は kg·m/s)です。
単体の運動量計算機と同じですか?
いいえ。 単体の運動量は一つの質量について p = m v です。本ツールは粒子系を取り、質量加重の COM 速度を返し、一覧全体の全運動量を報告します。検索意図もランディングも異なります。
粒子の速度にマイナスの値を入れてもよいですか?
はい。最初に正の向きを決め、逆向きに動く粒子の速度にはマイナスを付けて入力します。静止している粒子は0です。向きが逆の粒子の運動量は打ち消し合います。
全質量がゼロのときはどうなりますか?
計算は止まり、値の修正を求められます。全質量がゼロだと割り算が成り立たず、重心速度が存在しないためです。各質量はゼロでもかまいませんが、少なくとも1つはゼロより大きくしてください。
重心の位置や衝突後の速度も求められますか?
いいえ。求められるのは一直線上の重心速度、全質量、全運動量です。座標からの重心位置や、弾性衝突・非弾性衝突の結果は別の計算になります。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/mech/center-of-mass-velocity \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"particles":[{"mass":2,"velocity":3},{"mass":1,"velocity":0}]}'const res = await fetch("https://api.kit.forhosting.com/mech/center-of-mass-velocity", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"particles": [
{
"mass": 2,
"velocity": 3
},
{
"mass": 1,
"velocity": 0
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/mech/center-of-mass-velocity",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"particles": [
{
"mass": 2,
"velocity": 3
},
{
"mass": 1,
"velocity": 0
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/mech/center-of-mass-velocity", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"particles":[{"mass":2,"velocity":3},{"mass":1,"velocity":0}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"particles":[{"mass":2,"velocity":3},{"mass":1,"velocity":0}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/mech/center-of-mass-velocity", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"particles": [
{
"mass": 2,
"velocity": 3
},
{
"mass": 1,
"velocity": 0
}
]
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "mech.center_of_mass_velocity",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
すなわち v_cm は m_i と v_i の積の総和を全質量 M で割ったものです。その分子は系の全線形運動量 P でもあるため、M が非ゼロのとき P = M · v_cm という簡潔な関係が常に使えます。
粒子系における重心速度の定義
一次元の軸を決め、正の向きを選んでください。全質量がゼロのとき比は定義されず、古典的な重心速度は存在しません。本ページは質量と速度から求める一次元の重心速度に意図的に限定しています。重心位置、多軸ベクトル COM、完全な衝突ソルバは別の検索意図であり、別のランディングにあります。各粒子 i は古典力学では非負の質量 m_i と、その軸に沿って正・負・ゼロのいずれでもよい速度 v_i を持ちます。系の全質量はすべての m_i の通常の和 M です。全線形運動量は各積 m_i · v_i の和で、しばしば P = Σ m_i v_i と書きます。重心速度は比 v_cm = P / M であり、個々の速度の質量加重平均そのものです。すべての粒子が同じ速度で動くとき、質量の配分に関係なく v_cm はその共通値に一致します。等質量が同じ速さで逆向きに動くと運動量は打ち消し合い、運動エネルギーは残っていても v_cm はゼロになります。本ツールは Infinity や NaN ではなく invalid_input を返します。単位は慣例としてキログラムとメートル毎秒を用いると運動量はキログラムメートル毎秒、v_cm はメートル毎秒になりますが、比が同次なので質量と速さの一貫した組であれば構いません。
送信内容と返却内容
空でないオブジェクト配列で、各要素に有限数の mass と velocity があります。質量は非負、速度は選んだ軸に沿った符号付きです。授業デモと素早い確認には無料ブラウザフォームを、一括解答キーやシミュレーション用フィクスチャには同一契約をスクリプトから呼び出してください。多段階実験では単位を一貫させ、数値積がレポートが主張する SI 解釈と一致するようにしてください。必須フィールド particles を含む JSON 本体を POST してください。項目の別名として mass に m、velocity に v または vel を受け付け、配列自体は bodies、system、particles_list も受け付けます。particles 欠落、空リスト、非オブジェクト行、非有限成分、負の質量、NaN、Infinity は問題を名指しする invalid_input で失敗し、課金されません。合計質量の絶対値がごく小さなイプシロン未満になると、全質量がゼロであり v_cm = P / M でゼロ除算になるため重心速度を計算できないとエラーが述べ、クライアントは推測せず質量リストを直せます。成功時の応答には particle_count、mass と velocity を返し各粒子の運動量 m · v を付けた整理済み particles 配列、total_mass M、total_momentum P、P を M で割った center_of_mass_velocity、式文字列 v_cm = Σ(m_i · v_i) / Σ m_i、method center_of_mass_velocity、質量・速度・運動量の単位ヒントが含まれます。教科書の典型例は、3 m/s の 2 kg と静止 1 kg で全運動量 6・v_cm 2 m/s、打ち消し合う速度の等質量三つで v_cm ゼロ、全質量ゼロのリストは検証失敗です。成功した API 呼び出しの料金は公開ベース $0.002 毎件で、検証失敗は前払い残高を消費しません。
実務で重心速度が現れる場面
高校・大学初年次の物理は衝突実験の前に v_cm を導入し、学生が多体問題を重心系で書き直し、全運動量が M · v_cm であることを確認できるようにします。ロボティクスと多体シミュレーションのチームは、完全な動力学モデルの前にレール上のペイロード列などの一次通過システム速度として同じ比を使います。本能力は純 parse の tier A のため、成功した呼び出しは毎回公開ベース価格 $0.002 で、モデルトークンも外向きネットワークもありません。リクエストを小さく保ち、テストで整理済み数値フィールドを固定すれば、フル多体スタックを自前で立てずに宿題・設計ノート・エッジワーカー向けの再現可能な重心速度と全運動量が得られます。
連携の活用例
宿題・実験の解答キー
粒子リストから v_cm と全運動量 P=Σmv を計算し、学生と自動採点が同じ閉じた形の正解を共有できるようにします。
多体ロボティクスの一次通過速度
完全な多体動力学モデルの前に、ペイロード質量と軸速度から系の COM 速度を見積もります。
技術的な質問
全質量がゼロのときはどうなりますか?
リクエストは invalid_input で失敗します。Σ m_i = 0 のとき定義比がゼロ除算になるため、重心速度は定義されません。
粒子の速度は負でもよいですか?
はい。速度は選んだ軸に沿った符号付きです。逆向きは全運動量に逆符号で寄与し、v_cm で打ち消し合うことがあります。
重心速度計算機の料金は?
ブラウザツールは無料でローカル実行です。API は成功件あたり $0.002 の KIT 前払い残高を使い、無効入力は課金されません。