密度と半径から惑星質量を求める計算ツール
平均密度5514 kg/m³、半径6371000 mの天体の質量は5.972802939487484e+24 kgです。密度と大きさから丸い天体の質量を求め、球の体積も同時に確認できます。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 密度
- 5,514
- 半径
- 6,371,000
- 密度 (kg/m3)
- 5,514
- 半径 (m)
- 6,371,000
- 体積 (m3)
- 1,083,206,916,845,753,500,000
- 質量 (kg)
- 5,972,802,939,487,484,000,000,000
この計算ツールは、平均密度と半径が分かっている惑星、衛星、準惑星、その他のおおむね球形の天体について質量を求めます。最初に、半径の3乗へ円周率と4/3を掛けて球の体積を計算し、その体積へ密度を掛けます。密度は1立方メートル当たりのキログラム、半径はメートルで入力すると、質量がキログラムで返されます。計算は決定論的で外部データを使わず、物理的に意味のない結果を避けるため、ゼロまたは負の測定値を拒否します。
この計算ツールで求められる値
質量、密度、体積は「質量は密度と体積の積」という基本関係で結ばれています。惑星を球として表す場合、その体積は半径の3乗へ円周率と4/3を掛けた値です。この2つの関係を合わせると、質量は密度に4/3、円周率、半径の3乗を掛けた値になります。
本ツールはこの式をそのまま適用します。必要な密度は天体全体の平均密度であり、岩石試料、大気の一層、海、核だけの密度ではありません。半径にはメートル単位の平均半径または体積平均半径を使用します。
入力をSI単位にすると、体積の立方メートルと密度の分母にある立方メートルが相殺され、質量の単位としてキログラムが残ります。応答には正規化された密度と半径、計算した球体積、算出質量、読みやすい式が含まれます。中間値の体積も返すため、計算を監査しやすく、単位の間違いにも気付きやすくなります。
この計算は境界が完全な球であり、密度がその全体積にわたって平均されていると仮定します。ただし、実際の内部が均一だと主張するものではありません。層状の惑星でも、総質量を総体積で割った平均密度には十分な意味があります。
密度と半径を正しく入力する方法
密度には1立方メートル当たりのキログラム、半径にはメートルを使用してください。天文学資料では、密度が1立方センチメートル当たりのグラム、半径がキロメートルで掲載されることがあります。その場合は計算前に変換が必要です。
1立方センチメートル当たり1グラムは1立方メートル当たり1000キログラムに相当し、1キロメートルは1000メートルです。半径は3乗されるため、この換算は極めて重要です。キロメートル値をメートル値として入力すると、算出質量は10億分の1になります。
どちらの値も有限かつ厳密にゼロより大きくなければなりません。欠落値、10進数でない文字列、ゼロ、負数、Infinity、NaNは無効な入力として拒否されます。通常の10進文字列と科学表記を受け付けるため、6.371e6のような惑星規模の値にも便利です。
処理にはJavaScriptの有限数演算と固定された円周率だけを使用し、ネットワーク、現在時刻、無作為抽出には依存しません。科学的に適切な報告を行うには、表示する桁数より多くの有効数字を入力に保持し、測定精度に見合う桁で返された質量を丸めてください。
結果の読み方とモデルの限界
返される質量は、入力した2つの測定値を球体積モデルへ当てはめたときに導かれる値です。授業の演習、簡易的な妥当性確認、系外惑星の例、シミュレーション用の固定テストデータ、常に同じ透明な式を必要とするパイプラインに役立ちます。独立した天文観測ではなく、不確かな入力データの精度を高めるものでもありません。
質量は密度に比例するため、半径が一定なら密度の1パーセントの変化は質量にも1パーセントの変化をもたらします。一方、質量は半径の3乗に比例するので、小さな不確かさの範囲では半径が1パーセント変わると質量はおよそ3パーセント変わります。そのため、半径の精度には特に注意が必要です。
高速回転によって天体が扁平になることがあり、赤道半径を球の式へ使うと体積に偏りが生じます。利用可能であれば、公表された体積平均半径が適しています。このモデルは組成、重力加速度、脱出速度、軌道特性も推定しません。
それらには別の式と入力が必要です。
活用例
系外惑星の質量を推定
仮定した平均密度と測定半径から、比較や教育に使える透明な球モデルの質量を求めます。
天文学の課題を確認
解答を提出する前に密度と体積の積を検算し、中間値である球体積も確認できます。
決定論的なテストデータを作成
外部データなしで、教育ソフト、天文学デモ、シミュレーションの単体テスト向けに再現可能な質量値を生成します。
よくある質問
どの式を使用しますか?
質量 = 密度 × 体積を使い、球体積 = (4/3)πr³です。したがって、質量 = 密度 × (4/3)πr³となります。
どの単位で入力すればよいですか?
平均密度は1立方メートル当たりのキログラム、半径はメートルで入力してください。質量はキログラムで返されます。
惑星の組成が均一だと仮定していますか?
球体積全体の平均密度を使います。実際の内部が層状でも構いませんが、入力密度は天体全体を表す必要があります。
半径をキロメートルのまま入れるとどうなりますか?
半径は3乗されるため、質量が10億分の1に小さくなってしまいます。キロメートルは1000を掛けてメートルに、グラム毎立方センチメートルも同じようにキログラム毎立方メートルに直してください。
結果に体積も表示されるのはなぜですか?
球の体積、つまり3分の4に円周率と半径の3乗を掛けた値が途中の計算だからです。体積を確認すると答えを検算しやすく、質量を使う前に単位の誤りに気づけます。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/astro/planet-mass-from-density \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"density":5514,"radius":6371000}'const res = await fetch("https://api.kit.forhosting.com/astro/planet-mass-from-density", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"density": 5514,
"radius": 6371000
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/astro/planet-mass-from-density",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"density": 5514,
"radius": 6371000
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/astro/planet-mass-from-density", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"density":5514,"radius":6371000}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"density":5514,"radius":6371000}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/astro/planet-mass-from-density", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"density": 5514,
"radius": 6371000
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "astro.planet_mass_from_density",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
簡単な学習にはブラウザーで実行でき、再現可能な科学・教育ワークフローでは成功リクエスト1回につき$0.002でAPIをご利用いただけます。
密度と半径を正しく入力する方法
3乗または乗算が対応する有限数範囲を超える場合、Infinityを返さずにリクエストを拒否します。
結果の読み方とモデルの限界
算出体積と式のフィールドを使って結果の導出方法を記録し、元の測定単位を保存したうえで、最も精度の低い入力に合わせて有効数字を扱ってください。ブラウザーでの計算は無料で、APIの成功計算1回の料金は$0.002です。
技術的な質問
密度や半径にゼロまたは負数を指定できますか?
指定できません。両方とも有限で厳密に正の値である必要があり、それ以外ではinvalid_inputエラーを返します。
API計算の料金はいくらですか?
成功したAPIリクエスト1回の料金は$0.002です。同じ決定論的計算をブラウザーでは無料で実行できます。