2つの質量間の重力つり合い点距離計算
この重力つり合い点計算ツールは、2つの質量を結ぶ直線上で、ニュートン重力加速度の大きさが等しく向きが反対になる位置を求めます。2つの正の質量を同じ質量単位で入力し、中心間距離を任意の距離単位で入力してください。各質量からの距離と、全距離に対する位置の割合を返します。孤立した2つの点質量を対象とする直接的な解析計算であり、反復処理を使わずに天文学、物理学、工学の概算を確認できます。
無料で実行
2つの質量と中心間距離を入力してください
mass_1とmass_2には、同じ質量単位で表した正の有限数を指定してください。通常はキログラムを使いますが、つり合い位置は質量比だけで決まるため、グラム、太陽質量、地球質量など一貫した単位であれば同じ割合になります。separationには2つの中心間距離を入力してください。返される距離はその単位を引き継ぎます。メートルで入力すればメートル、キロメートルならキロメートルです。3つの値はすべて0より大きい必要があります。0または負の質量はこの計算では有効な意味を持たないため、誤解を招く端点を返さずエラーにします。0以下の距離も、異なる中心間に開区間が存在しないため無効です。JSONでは地球質量の5.972e24など、科学的記数法も使用できます。第1と第2という名称は向きだけを定めます。質量を入れ替えると対応する距離も入れ替わりますが、物理的な位置は変わりません。
重力つり合いの式をご確認ください
第1質量から測った位置xでは、その質量へ向かうニュートン重力加速度はmass_1をxの2乗で割った値に比例します。第2質量へ向かう加速度は、mass_2を残りの距離、つまりseparationからxを引いた値の2乗で割った値に比例します。両者の大きさを等しくすると万有引力定数が消去され、x = separation × sqrt(mass_1) / (sqrt(mass_1) + sqrt(mass_2))が得られます。このためGの入力は不要で、質量単位をそろえるだけで計算できます。応答にはdistance_from_mass_1、distance_from_mass_2、fraction_from_mass_1が含まれます。2つの距離の合計は元の中心間距離です。質量が等しければ点は正確に中間にあります。第1質量が大きい場合、その強い引力を距離によって弱める必要があるため、点は第1質量から遠く、第2質量に近くなります。この計算は理想的な試験粒子の加速度を比較するもので、試験粒子自体の質量には依存しません。
モデルの適用範囲内で結果をご利用ください
この結果は、静止した孤立点質量2つの中心を結ぶ線上における、単純な重力相殺点として扱ってください。物理の演習、妥当性確認、初期段階のミッション概算、連星系の理解、理想的な試験粒子がある瞬間に等しく反対向きのニュートン重力を受ける場所の推定に役立ちます。ただし、軌道力学で用いる回転座標系のラグランジュ点L1ではありません。実際のL1計算では遠心効果と軌道角速度も考慮するため、位置が異なります。また、ほかの天体、非球形の質量分布、大気、放射圧、相対論、試験粒子の運動も考慮しません。自由空間内の位置として解釈する場合は、計算点が両天体の物理半径より外側にあることをご確認ください。このツールが受け取るのは質量と距離だけで、半径は受け取りません。自動処理ではAPIを1回$0.002で利用でき、同じ決定論的計算はデータを送信せずブラウザーでも実行できます。
活用例
惑星と衛星を比較する
惑星と衛星の質量および距離から、重力だけが相殺される位置を概算できます。
物理問題の解答を確認する
逆二乗式を手作業で変形せずに、解析解と両端からの距離をご確認いただけます。
質量比の影響を調べる
一方の質量を変更し、質量比の平方根によって点が小さい天体側へ移る様子を確認できます。
よくある質問
利用料金はいくらですか?
APIは1回$0.002で、ブラウザー版は無料で実行できます。
どの単位を使用すればよいですか?
2つの質量には同じ単位をご使用ください。出力距離には入力した中心間距離の単位が引き継がれます。
両方の質量が正である必要があるのはなぜですか?
2体重力モデルには互いに引き合う正の質量が必要であり、0または負の値では求める内側の点を定義できないためです。
これはラグランジュ点L1ですか?
いいえ。ここでは2つのニュートン重力だけが相殺されます。軌道上のL1では回転座標系と遠心効果も考慮します。
質量が等しい場合、点はどこですか?
正確に中間となり、返される各距離は中心間距離の半分です。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/astro/l1-gravity-balance \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"mass_1":5.972e+24,"mass_2":7.342e+22,"separation":384400000}'const res = await fetch("https://api.kit.forhosting.com/astro/l1-gravity-balance", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"mass_1": 5.972e+24,
"mass_2": 7.342e+22,
"separation": 384400000
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/astro/l1-gravity-balance",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"mass_1": 5.972e+24,
"mass_2": 7.342e+22,
"separation": 384400000
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/astro/l1-gravity-balance", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"mass_1":5.972e+24,"mass_2":7.342e+22,"separation":384400000}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"mass_1":5.972e+24,"mass_2":7.342e+22,"separation":384400000}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/astro/l1-gravity-balance", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"mass_1": 5.972e+24,
"mass_2": 7.342e+22,
"separation": 384400000
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "astro.l1_gravity_balance",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |