ビス・ビバ方程式計算機
μが398600.4418 km³/s²、距離7000 km、長半径10000 kmなら、軌道速度は8.60382451787 km/sです。3つの値を同じ単位系で入力すれば、その位置での速さが分かります。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 重力パラメータ
- 398,600.4418
- 現在の半径
- 7,000
- 半長軸
- 10,000
- 軌道速度
- 8.6038245179
- 速度の2乗
- 74.0257963343
ビス・ビバ方程式計算機は、中心天体の重力パラメータ、その中心から物体までの現在距離、軌道の長半径を使って瞬間的な軌道速度を求めます。円軌道を特別な場合として含む楕円軌道だけでなく、長半径が負となる双曲線脱出軌道にも対応します。すべての距離に整合した単位系を使用すると、対応する距離毎時間の単位で速度が返されます。計算は決定論的であり、虚数の速度を返さず、成立しない軌道形状を入力エラーとして明示します。
整合した単位系を選択します
ビス・ビバ関係式は簡潔ですが、入力値には一貫した単位系が必要です。通常 mu と表す標準重力パラメータは、距離の 3 乗毎時間の 2 乗で入力します。現在の軌道半径と長半径には、同じ距離単位を使用してください。
たとえば、mu を km^3/s^2、両方の距離を km で入力すれば、軌道速度は km/s、速度の 2 乗は km^2/s^2 で得られます。メートルを用いる SI 入力なら結果は m/s です。数値だけではキロメートル、メートル、秒、時間などの選択を判別できないため、この計算機は単位を推測したり変換したりしません。
現在の軌道半径とは中心天体の表面からの高度ではなく、その中心からの距離です。長半径は現在位置ではなく、円錐曲線軌道全体を表します。正の値は楕円、負の値は双曲線を表し、円軌道では軌道半径と長半径が一致します。
これらを区別すると、代表的な入力ミスを防げます。
速度の計算方法を理解します
計算には v = sqrt(mu × (2/r − 1/a)) を使用します。v は軌道速度、mu は重力パラメータ、r は現在の軌道半径、a は長半径です。この式は軌道の比エネルギー保存則に基づきます。
運動エネルギーは位置によって変化しますが、その軌道に対応する全エネルギーは一定です。楕円軌道では、半径が最小となる近点付近で速度が最大になり、遠点付近で最小になります。軌道半径と長半径が等しいと、式は円軌道の sqrt(mu/r) に簡約されます。
双曲線軌道では a が負なので、1/a を引くことで正の項が加わり、局所脱出速度を超える値になります。応答には軌道速度と速度の 2 乗が含まれます。
成立しない軌道形状を確認します
式の各除算には物理的な意味があるため、距離がゼロの入力は明示的に拒否されます。現在の軌道半径がゼロなら物体は中心天体の数学的中心に置かれ、2/r が未定義になります。長半径がゼロなら 1/a が未定義となり、有効な円錐曲線軌道を表しません。
現在の軌道半径と重力パラメータは正でなければなりません。一方、長半径は負でも有効です。この符号は双曲線軌道を表す標準的な規約だからです。
正の長半径に対して、入力した半径が 2/r − 1/a を負にする場合があります。速度の 2 乗が負になるため、その点は指定された実軌道上に存在できず、計算機は虚数値ではなく入力エラーを返します。この確認は、暦データや手計算の検証、高度と軌道半径の取り違えの発見に役立ちます。
計算は 2 体ケプラー運動を仮定します。扁平、空気抵抗、推力、放射圧、第三天体の影響には軌道伝播モデルが必要です。
活用例
楕円軌道上の速度を確認します
既知の重力パラメータと長半径から、近点、遠点、または中間半径での予想速度を比較します。
双曲線出発を評価します
負の長半径を使い、脱出軌道またはフライバイ軌道上の指定半径で速度を計算します。
シミュレーションや暦を検証します
報告された速度が、2 体軌道と現在距離に整合するかを独立して確認します。
よくある質問
どの単位を使用すればよいですか?
整合した単位系なら使用できます。mu が km^3/s^2、距離が km なら速度は km/s です。SI 入力なら m/s です。
現在の軌道半径は高度と同じですか?
いいえ。 中心天体の中心から測ります。適切な近似では、高度に天体の基準半径を加えてください。
長半径を負にできますか?
はい。 負の長半径は双曲線軌道の標準的な規約です。式で除算するため、ゼロは無効です。
正の半径が拒否される場合があるのはなぜですか?
半径と長半径の組み合わせが速度の 2 乗を負にし、その点が実在する円錐曲線軌道と両立しないためです。
結果に速度の方向も含まれますか?
いいえ。 ビス・ビバ式が与えるのは大きさだけです。方向には位置、軌道要素、経路角などが必要です。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/mech/vis-viva \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"gravitational_parameter":398600.4418,"current_radius":7000,"semi_major_axis":10000}'const res = await fetch("https://api.kit.forhosting.com/mech/vis-viva", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"gravitational_parameter": 398600.4418,
"current_radius": 7000,
"semi_major_axis": 10000
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/mech/vis-viva",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"gravitational_parameter": 398600.4418,
"current_radius": 7000,
"semi_major_axis": 10000
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/mech/vis-viva", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"gravitational_parameter":398600.4418,"current_radius":7000,"semi_major_axis":10000}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"gravitational_parameter":398600.4418,"current_radius":7000,"semi_major_axis":10000}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/mech/vis-viva", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"gravitational_parameter": 398600.4418,
"current_radius": 7000,
"semi_major_axis": 10000
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "mech.vis_viva",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
速度の計算方法を理解します
JSON の安定性と実用的な精度を保つため、結果は有効数字 12 桁に丸めます。この式が与えるのは速度の大きさだけであり、方向、経路角、軌道傾斜角、慣性座標系での位置は求めません。
技術的な質問
API での計算料金はいくらですか?
API リクエスト 1 件の料金は $0.002 です。ブラウザでも同じ決定論的計算をローカルで実行できます。