楕円体の体積計算
3つの半軸を入力すると、楕円体の体積と表面積がまとめて分かります。半軸が3、2、1なら体積は8πです。表面積はKnud Thomsenの近似式で求め、球なら正確な値になります。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- A
- 3
- B
- 2
- C
- 1
- 体積
- 25.1327412287
- 表面積
- 48.9719333337
- 表面積の方式
- knud_thomsen
- Thomsenのp
- 1.6075
三軸楕円体は、単位球を互いに直交する3つの軸方向に独立に伸ばして得られる立体です。3つの主軸の長さが異なる場合、純粋な球よりも、惑星、卵、ラグビーボール、タンク端部、多くのCADプリミティブを忠実にモデル化できます。同じ長さ単位で測られた正の半軸 a、b、c が与えられれば、体積は単純な閉形式、つまり(4/3)·π·a·b·cで表せます。表面積には一般の場合に初等的な閉形式がなく、実用上の工学標準はKnud Thomsen近似です。中程度の離心率では相対誤差が小さく抑えられ、a=b=cのときこの式は正確な球の表面積に縮退します。
楕円体における体積とKnud Thomsen表面積の意味
三軸楕円体は、直交する主軸方向に沿った3つの正の半軸 a、b、c で定義されます。表面上のすべての点は x²/a² + y²/b² + z²/c² = 1 を満たします。体積は単位球の線形伸長から直ちに得られ、V = (4/3)·π·a·b·c です。
a=b=c=r のとき、これはおなじみの球の体積 (4/3)·π·r³ に帰着します。表面積はより難しく、厳密な式は第一種・第二種不完全楕円積分を含み、任意の a、b、c では簡約されません。Knud Thomsenは、工学表やソフトウェアで広く使われるコンパクトな近似を提案しました。
単位は a、b、c に渡した長さ単位と一貫しています。メートルなら体積は立方メートル、面積は平方メートル、インチなら立方・平方インチです。計算は型変換後の数回の乗算と1回の累乗だけなので、反復もモンテカルロサンプリングも壁時計への依存もありません。
実践のヒント、制限、関連する検索
教育では対になった例が効果的です。球との表面積照合は最良の健全性チェックです。3つの主半軸が既知で、体積と標準的な近似表面積を一度に必要とするときにこのツールを選んでください。
往復チェックも簡単です。球のケースを解いた後、volume が (4/3)·π·r³、表面が 4πr² に等しいことを確認し、軸が等しくない場合は一方の軸を2倍にしたとき volume が積 a·b·c に比例して増えることを確認してください。
半径と高さからの直円柱だけが必要なら専用の円柱体積計算を、辺長からの正四面体が必要なら、退化した楕円体軸を無理に使うのではなく四面体ツールをご利用ください。
活用例
タンク端部、卵、包装の拾い出し
主半軸を容量見積もり用の体積に変換したり、楕円体部品の塗装、ラッピング、材料発注用に近似の表皮面積を求めたりします。
CADと製造の事前チェック
ネスティングや見積もりの前にスクリプトで標準楕円体の寸法を検証します。質量見積もりには体積を、コーティングや熱処理には近似表面積を使います。
よくある質問
楕円体の体積の公式は?
半軸 a、b、c に対し、体積は (4/3)·π·a·b·c です。3つの長さはすべて同じ単位でなければなりません。a=b=c=r のとき、これは球の体積 (4/3)·π·r³ になります。
表面積の精度はどのくらいですか?
球の場合は正確で、ほどよい形なら誤差はおおむね1パーセント程度です。針のように細長い形や平たい形では誤差が大きくなることがあるため、近似値として示します。
結果はどの単位で出ますか?
3つの半軸と同じ単位で出ます。体積はその3乗、表面積は2乗の単位になり、メートルで入れれば立方メートルと平方メートルです。半軸の単位はそろえてください。
3つの半軸が等しいとどうなりますか?
その半径の球になります。体積は3分の4×π×半径の3乗になり、Knud Thomsenの式も球の表面積と正確に一致します。
半軸がゼロや負のときはどうなりますか?
正の大きさを持つ立体にならないため受け付けません。黙って絶対値を使ったり体積ゼロを返したりせず、入力の誤りとしてお知らせします。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/geom/ellipsoid \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"a":3,"b":2,"c":1}'const res = await fetch("https://api.kit.forhosting.com/geom/ellipsoid", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"a": 3,
"b": 2,
"c": 1
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/geom/ellipsoid",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"a": 3,
"b": 2,
"c": 1
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/geom/ellipsoid", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"a":3,"b":2,"c":1}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"a":3,"b":2,"c":1}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/geom/ellipsoid", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"a": 3,
"b": 2,
"c": 1
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "geom.ellipsoid",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
max_semi_axis | 1000000000000 |
min_semi_axis | 1e-15 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
これは累乗した軸のペアごとの積を求めて平均し、p=1.6075のp乗根を取り、4πを掛けるものです。この機能は、計算代数システムも乱数シードも使わず、無料のブラウザツールとプリペイドAPI経路の両方で同じ純粋な求解関数を用いて、両方の結果を決定的なJSONとして提供します。正でない半軸はinvalid_inputで拒否されるため、スクリプトや採点パイプラインは、暗黙の絶対値や体積ゼロの立体ではなく、正直なエラーを受け取れます。
楕円体における体積とKnud Thomsen表面積の意味
S ≒ 4π・((a^p·b^p + a^p·c^p + b^p·c^p)/3)^(1/p)、固定指数 p=1.6075 です。この近似は球では厳密で、多くの実用的な離心率で相対誤差およそ1%以内に収まります。極端に針状やパンケーキ状の形状ではずれが大きくなることがあるため、レスポンスは表面積フィールドを厳密ではなくknud_thomsen方式として明示します。ゼロや負の軸は正の広がりを持つ立体楕円体を表さないため、この契約では受け付けられず、APIは大きさを捏造せずinvalid_inputを返します。
APIの呼び出し方と返ってくる内容
3つすべてがゼロより厳密に大きい有限の数で、公開された上限内にあり、同じ長さ単位を共有している必要があります。幾何の宿題パイプライン、惑星やタンクの拾い出しスクリプト、面接対策サンドボックス、CAD事前チェック、あるいは各マシンに計算代数パッケージを入れずに再現可能な楕円体の数値が必要なあらゆるワークフローからご利用ください。元データがミリメートルとメートルを混在させる場合に限り、単位換算と組み合わせてください。3つの半軸 a、b、c を含むJSONボディを送信します。フィールド a は1番目の正の半軸で、エイリアス semi_a、A、x が受け付けられます。フィールド b は2番目で、エイリアス semi_b、B、y が同じ意味に対応します。フィールド c は3番目で、エイリアス semi_c、C、z が受け付けられます。成功時、レスポンスは a、b、c をエコーし、厳密な (4/3)·π·a·b·c の値として volume を返し、Knud Thomsen式による surface_area を返し、surface_area_method を knud_thomsen に、thomsen_p を 1.6075 に設定し、3軸が等しいとき is_sphere を立て、method を triaxial_ellipsoid に設定し、両方の式を記載した短いformulaブロックを含めます。検証失敗(必須フィールドの欠落、非有限数、正でない軸、公開範囲外の値)はinvalid_inputを返し、課金されません。料金は成功リクエストごとに定額$0.002で、単位項目、限界単価ゼロです。この機能は線形単位を換算しないため、リクエスト送信前に a、b、c を同じ単位に揃えてください。
実践のヒント、制限、関連する検索
中間の積や累乗がWorkerとブラウザのIEEE倍精度で有限に収まるよう、各半軸は最大1兆までの公開された正の範囲内に保ってください。a=3、b=2、c=1 で明確に三軸の立体、a=1、b=1、c=1 で体積が4π/3、表面積が4πとなる単位球、そしてゼロや負の軸で厳格な拒否経路を実演できます。体積は積 a·b·c だけで済むため、学生はπの簡単な分数で手計算し、必要なら報告された浮動小数点数をπで割ってAPIの行と1行ずつ照合できます。3軸すべてを等しく設定し、surface_area が浮動誤差内で 4πr² に一致することを確認してください。このランディングは、楕円体の体積計算や3つの半軸からのKnud Thomsen表面積を探す人を対象としており、円柱、四面体、厳密な楕円積分ソルバーではありません。invalid_inputを返す失敗タスクはプリペイド残高を消費しないため、ユーザーが契約を学ぶ途中で不可能な寸法を入力しても、探索的スクリプトのコストを抑えられます。
連携の活用例
楕円体の体積と表面積の宿題チェック
学生に3つの半軸を与え、手計算の体積とKnud Thomsen表面積を、決定的なAPIまたは無料のブラウザ結果と比較します。
技術的な質問
Knud Thomsenの表面積の公式とは?
近似表面積は 4·π·((a^p·b^p + a^p·c^p + b^p·c^p)/3)^(1/p)(p=1.6075)です。球では厳密で、三軸楕円体に対する標準的な工学近似です。
なぜゼロや負の半軸は拒否されるのですか?
立体楕円体には厳密に正の半軸が必要です。正でない入力は、絶対値を取ったり体積ゼロの立体を返したりせず、invalid_inputを返します。
表面積は厳密ですか?
体積は厳密です。表面積はKnud Thomsen近似(p=1.6075)を使用します。真の表面積には楕円積分が必要で、ここでは計算されません。
楕円体の体積計算は無料ですか?
ブラウザツールは無料でローカルに動作します。API呼び出しは成功リクエストごとに$0.002のプリペイドKIT残高を使用し、失敗タスクは課金されません。