衛星の軌道から中心天体の質量を求める計算ツール
この計算ツールは、衛星の公転周期と軌道長半径を使って、惑星などの中心天体の質量を推定します。周期を秒、中心間で測った軌道長半径をメートルで入力してください。ニュートン力学によるケプラーの第三法則を適用し、推定質量をキログラムで返します。表計算ソフトや外部の天文データベースを用意せずに、天文学の学習、観測値の確認、簡易シミュレーション、衛星系の比較に使える再現可能な結果をすぐに得られます。
無料で実行
軌道データをSI単位系で準備してください
最初に、衛星が中心天体の周りを一周するのに要する公転周期を秒で入力してください。資料が日単位なら86,400を、時間単位なら3,600を掛けます。ゼロ以下の時間は軌道を表さず、式も定義できないため、周期は必ず正の値にしてください。次に、軌道長半径をメートルで指定します。これは軌道楕円の最も長い直径の半分であり、中心天体の表面からではなく、中心天体の中心から衛星の中心までの距離です。ほぼ円形の軌道では、実質的に平均軌道半径に相当します。キロメートルからメートルへは千倍して換算してください。軌道長半径は三乗されるため、途中で丸めると誤差が拡大します。最終表示より多くの有効桁を換算中に保持することをお勧めします。どちらの入力も有限の数値である必要があり、軌道長半径も正でなければなりません。再現性が重要な場合は、公開された軌道要素が異なる基準解を使うこともあるため、各測定値の出典と元期を記録してください。
ケプラーの法則による計算を理解してください
本ツールはM = 4π²a³/(GT²)を計算します。Mは中心天体の質量、aは衛星の軌道長半径、Tは公転周期、Gは万有引力定数です。G = 6.67430 × 10^-11立方メートル毎キログラム毎秒毎秒を用いるため、SI単位系の入力からキログラムが直接得られます。これは、衛星の質量が中心天体に比べて無視できるという一般的な近似を採用した、ニュートン力学によるケプラーの第三法則です。外部検索は行わず、同じ数値には必ず同じ結果を返します。この関係式から入力誤差への感度も分かります。軌道長半径が一パーセント変わると推定質量はおよそ三パーセント変化し、周期が一パーセント変わると反対方向へ約二パーセント変化します。そのため、距離の精度は特に重要です。結果を一定の小数桁には丸めていません。表示された全桁を物理的に有効とみなさず、最も不確かな軌道測定値の精度に合わせて丸めてください。
結果と近似の範囲を適切に解釈してください
出力は、指定された軌道だけから導いた中心天体の質量推定値で、単位はキログラムです。天文学の問題の確認、計算値と公表された惑星質量との比較、シミュレーションの初期パラメータ設定に利用できます。結果はニュートン重力に従う理想的な二体問題を仮定しています。衛星の質量を無視できない場合、式が実際に求めるのは両天体の合計質量です。この違いが重要なら、別に分かっている衛星質量を差し引いてください。同程度の質量を持つ連星系は、固定中心を回る小さな衛星ではなく、明示的な二体問題として扱う必要があります。他の衛星や恒星による摂動、共鳴、不均一な重力場、潮汐、相対論的効果は考慮していません。また、周期と軌道長半径が同じ軌道と基準座標系に対応することをご確認ください。通常は恒星周期が適しており、会合周期を混用すると誤った推定になり得ます。結果を既知の質量と比較し、差がある場合は式を疑う前に、単位、中心間距離、周期の定義、衛星質量を無視する近似を点検してください。
活用例
天文学の問題を確認する
衛星の公転周期と軌道長半径から求めた中心天体の質量を検算できます。
観測した天体の質量を推定する
衛星の基本的な軌道観測から、キログラム単位の概算質量を導けます。
シミュレーション設定を検証する
設定した衛星軌道が示す値と、シミュレーション内の中心質量を比較できます。
よくある質問
どの式を使用していますか?
SI単位系によるケプラーの第三法則のニュートン力学形式、M = 4π²a³/(GT²)を使用します。
どの公転周期を入力すればよいですか?
一周に要する時間を秒で入力してください。通常は恒星周期を使用し、値は正である必要があります。
軌道長半径は表面から測りますか?
いいえ。中心間の距離をメートルで入力します。円軌道では軌道半径と等しくなります。
衛星の質量は結果に影響しますか?
厳密な二体関係式では合計質量が得られます。本ツールは衛星が十分軽いという通常の仮定で中心質量と表記します。
APIでの計算料金はいくらですか?
APIリクエスト一件の料金は$0.002です。決定論的な解析計算であり、外部ネットワークサービスは使用しません。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/astro/central-mass-from-moon \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"orbital_period_s":2360591.5,"semi_major_axis_m":384400000}'const res = await fetch("https://api.kit.forhosting.com/astro/central-mass-from-moon", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"orbital_period_s": 2360591.5,
"semi_major_axis_m": 384400000
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/astro/central-mass-from-moon",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"orbital_period_s": 2360591.5,
"semi_major_axis_m": 384400000
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/astro/central-mass-from-moon", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"orbital_period_s":2360591.5,"semi_major_axis_m":384400000}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"orbital_period_s":2360591.5,"semi_major_axis_m":384400000}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/astro/central-mass-from-moon", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"orbital_period_s": 2360591.5,
"semi_major_axis_m": 384400000
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "astro.central_mass_from_moon",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |