トーラス扇形の計算ツール
大半径5、管の半径1のトーラスを半回転させた扇形は、体積49.348022、外側の面積98.696044です。2つの半径と角度をラジアンか度で入力すると、パイプの曲がりやリングの一部の値が分かります。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 主半径(R)
- 5
- 管半径(r)
- 1
- 扇形角(θ)
- 3.1415926536
- 角度の単位
- rad
- トーラス扇形の体積
- 49.348022
- トーラス扇形の表面積
- 98.696044
- トーラス全体の体積
- 98.696044
トーラス扇形の部分体積と外側の表面積を計算します。これは大半径 R、小半径 r のトーラス(円環体)を中心角 theta(ラジアンまたは度)だけ掃引した立体です。さらに一周分の体積、一周分の外側表面積、掃引した割合 theta/2pi も返します。
トーラス扇形とは
トーラスは、浮き輪のような輪の形をした立体で、円を軸の周りに回転させてできます。大半径Rは輪の中心から管の中心までの距離、小半径rは管そのものの半径です。トーラス扇形は、この回転を途中のある中心角で止めたときにできる部分です。パイプのエルボや曲がったダクト、3Dモデルのリングの一部などがトーラス扇形に当たります。この計算機は、扇形の体積と外側の表面積に加えて、輪全体の値と回転した割合も表示します。
計算の仕方と注意点
輪全体の体積は2π²Rr²、外側の面積は4π²Rrで、どちらもパップスの定理から求められます。どちらも角度に比例して増えるため、扇形の値は全体の値に角度を2πで割った割合を掛けたものです。大半径5、管の半径1で半回転なら割合は0.5で、体積は49.348022、面積は98.696044です。角度は度を選ばない限りラジアンとして読まれ、ここが最も多い間違いです。角度は1回転を超えられず、結果は特に指定しなければ小数点以下6桁に丸められます。
入力、角度の単位、検証
3 つの数値入力が必須です。R と r は大半径と小半径、theta は中心角です。検証は厳格で、R は正の数、r は正かつ R より厳密に小さくなければなりません(r が R 以上だと管が自らの軸を貫いて自己交差してしまいます)。
theta も正でなければなりません。度は面積や体積を計算する前に内部で theta·pi/180 として変換されます。変換後の角は一周を超えられないため、2·pi を超える theta(1e-12 の許容誤差付き)は拒否されます。
活用例
パイプ曲げとトーラス状ダクト
既知の中心角だけ曲げたパイプのエルボやトーラス状ダクトについて、掃引された材料の体積と濡れた外側表面を見積もります。
CAD と 3D 幾何
フィレット、リング分割、円弧プリミティブについて、Pappus の定理を手作業で導かずに、正確な部分トーラスの体積と外側面積を求めます。
よくある質問
角度を度で与えられますか?
度は theta·pi/180 で変換されます。角は一周(2·pi)を超えられません。
トーラス扇形の体積と面積はどの式で求めますか?
トーラス全体の体積は2π²Rr²、外側の面積は4π²Rrです。どちらも角度に比例するので、全体の値に角度を2πで割った割合を掛けて扇形の値を求めます。
管の半径が大半径より小さくなければならないのはなぜですか?
管の半径が軸までの距離より大きいと、管が軸を突き抜けて自分自身と交わり、実在する立体ではなくなるためです。そのため管の半径は大半径より小さい値にしてください。
結果の丸めはどのように決まりますか?
初期設定では小数点以下6桁に丸めます。別の桁数を指定することもできます。体積、面積、全体の値、割合のすべてが同じ桁数で表示されます。
パイプのエルボの体積はどう求めますか?
管の中心までの曲げ半径を大半径に、管そのものの半径を小半径に、曲げ角度を回転角に入力します。結果として、そのエルボの材料の体積と外側の表面積が分かります。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/math/torus-sector \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"R":5,"r":1,"theta":3.141592653589793}'const res = await fetch("https://api.kit.forhosting.com/math/torus-sector", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"R": 5,
"r": 1,
"theta": 3.141592653589793
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/torus-sector",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"R": 5,
"r": 1,
"theta": 3.141592653589793
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/torus-sector", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"R":5,"r":1,"theta":3.141592653589793}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"R":5,"r":1,"theta":3.141592653589793}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/torus-sector", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"R": 5,
"r": 1,
"theta": 3.141592653589793
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.torus_sector",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
トーラス扇形の体積と面積の公式
トーラス扇形は、その円形の管を一周のうち一部だけ、中心角 theta だけ掃引して得られる立体です。どちらの量も掃引角に対して線形に比例するため、この機能は各々の一周分の値に割合 theta/(2·pi) を掛けます。大半径 R(中心から管までの距離)、小半径 r(管の半径)の完全なトーラスは、体積 V_full = 2·pi²·R·r²、外側の表面積 A_full = 4·pi²·R·r をもち、いずれも Pappus の重心定理から得られます。返される体積は V_full·theta/2pi、surface_area は A_full·theta/2pi です。また full_volume、full_area、そして割合そのものも返すので、スケーリングを検証できます。R=5、r=1、theta=pi では割合が 0.5 となり、体積 49.348022、surface_area 98.696044 が、完全なトーラスの 98.696044 と 197.392088 に対して得られます。
入力、角度の単位、検証
任意指定の angle_unit はラジアン(既定)または度を選びます。いずれかの違反があると、問題のフィールドを名指しする型付きの invalid_input エラーが発生するので、フォームは不透明な例外を表面化させる代わりに、ちょうど 1 つの入力を強調表示できます。解釈された angle_unit は、どの単位が使われたか呼び出し側が確認できるよう、R、r、theta の隣にレスポンスへそのまま返されます。
丸め、決定性、動作環境
中核は純粋な JavaScript で、時計も乱数も locale 依存もありません。任意指定の decimals フィールド(既定 6)が精度を制御します。すべての数値出力(volume、surface_area、full_volume、full_area、fraction)は、生の IEEE-754 値に明示的な half-up 規則を 1 回だけ適用して丸められ、既に丸めた値から連鎖して求めることは決してありません。そのため掃引した体積と一周分の体積は最後の桁まで互いに整合します。失敗した API 呼び出しには決して課金されません。前払いの KIT 残高は、成功したタスクに対してのみ、公表された基本料金 $0.002 で請求されます。
連携の活用例
指導と参照
トーラス扇形が角に対して線形にスケールすることを示します。返される割合 theta/2pi に full_volume と full_area を掛けると volume と surface_area が再現されます。
技術的な質問
どのような公式を使いますか。
完全なトーラスは V=2·pi²·R·r²、A=4·pi²·R·r(Pappus の定理)を与え、扇形は各々に theta/2pi を掛けます。レスポンスは一周分の値と割合も返します。
なぜ r は R より小さくなければならないのですか。
r が R 以上だと管が自らの中心軸に達して自己交差してしまうため、その入力は invalid_input として拒否されます。
丸めはどのように制御しますか。
decimals フィールド(既定 6)が各出力を生の値から half-up で 1 回だけ丸めます。既に丸めた別のフィールドから求めることは決してありません。
無料ですか。
端末上で動作するブラウザ widget は無料です(tier A)。API は成功したタスク 1 件あたり $0.002 で、失敗した呼び出しには課金されません。