円周計算ツール
円周計算ツールは円の直径を受け取り、C = pi * d という正確な関係式でその外周の長さを返します。数値をひとつ送れば数値がひとつ戻り、単位は入力したときのままです。ミリメートルで送れば答えもミリメートル、マイルで送れば答えもマイルです。設定すべき丸めポリシーはなく、現代のランタイムに組み込まれた倍精度の pi 以外の暗黙の近似もないため、結果はどこで実行しても決定的で再現可能です。エッジで動くコードと同じものがブラウザで無料で動くため、無料のウェブツールと有料 API が食い違うことはありません。部品、車輪、リング、パイプ、トラックなど、中央を横切る寸法が分かっていて外周が必要なものすべてにお使いいただけます。
無料で実行
半径ではなく直径を使う理由
学校で習う式の多くは円周を 2πr、つまり半径で表します。しかし現場や作業場では、半径を直接測る人はほとんどいません。ノギス、巻き尺、レーザーで円を横切る寸法を測るのが普通で、実際に触れられるのは直径だからです。この円周計算ツールはその現実に沿って作られています。測ったままの直径を受け取り、pi を掛けます。これは 2πr と代数的には同じですが、2 で割る手順を省くため、ミスが入り込む場所をひとつ減らせます。半径しか手元にない場合は、先に2倍してから呼び出すか、半径ベースのツールをお使いください。円周から直径を逆算したい場合は、別のケーパビリティの役目です。入力はひとつ、仕事もひとつに絞ることで、契約がとても検証しやすくなります。正の有限の数値が入れば外周の長さが出て、それ以外、つまりゼロ、負の値、欠落したフィールド、数値でない文字列は、計算が始まる前に無効な入力として拒否されます。
数値はどのように計算されるか
計算は一度の掛け算だけです。正の有限数として検証された直径に、すべての JavaScript エンジンで使える倍精度定数 Math.PI を掛けます。級数展開も参照テーブルも反復近似もないため、実行ごと、サーバーごと、ブラウザと API の間で答えがずれることはありません。結果は返す前に小数第6位に丸められます。これは精度の主張ではなく、意図的な安定化の選択です。浮動小数点の掛け算は CPU によって最終桁がわずかに揺れることがあり、バイト単位で比較する保存済みの正解例は、正しさとは無関係の理由で別のマシンで失敗しえます。小数第6位は、直径の物理的な測定が正当化する精度をはるかに超えています。100分の1ミリメートル精度のノギスによる制約は、pi よりもはるかに円周を強く縛ります。単位はそのまま通過します。ツールは変換を一切行わないため、直径の単位がそのまま答えの単位になり、事前の単位変換はお客様側の判断です。
実務での使いどころ
単一値の幾何計算は些細に聞こえますが、何千もの測定値を処理するパイプラインに組み込まれると話は別です。直径の測定値をベルトや帯材の長さに変換する切断工程、円形材料を外周で見積もる価格算出ツール、測定したシャフトを円周で表された公差帯と照合する適合チェック。これらはすべて、再実装も再テストも不要な決定的なステップとしてこのエンドポイントを呼び出します。このケーパビリティはネットワーク呼び出しも秘密情報も共有状態も持たない純粋なパースワーカーなので、1件でも1万件でも同じように動作し、コストは単位ごとの割増なしで一律リクエストあたり $0.002 です。無料のブラウザ版も同じモジュールで動くため、エンジニアは API を本番に組み込む前に手元で値を確認でき、どちらの経路も同じ数値を返すと信頼できます。正の有限数でない入力は無効な入力エラーで失敗し、課金されません。そのため、信頼できないフォーム送信に直接公開しても安全です。
活用例
円筒を包む材料の切り出し
測定したパイプやドラムの直径から、ちょうど一周巻くのに必要な帯材の正確な長さを、切断前に求めます。
円形部品を外周で見積もる
部品リストの直径を見積もりパイプラインに流し、ガスケット、リング、シールを外周の長さで課金します。
車輪やプーリーの仕様確認
公称の車輪直径から、駆動系やオドメーターが期待する転がり距離が導かれるかを検証します。
よくある質問
料金はいくらですか?
リクエストごとに $0.002 で、単位ごとの割増はありません。ブラウザでは無料で、まったく同じコードが動きます。
どのような入力を受け付けますか?
直径を表す単一のフィールドで、正の有限数または数値文字列です。ゼロ、負の値、非数値、欠落値は無効な入力として拒否されます。
結果の単位は何ですか?
送信した直径と同じ単位です。ツールは単位を変換せず、pi を掛けるだけです。
結果の精度はどのくらいですか?
倍精度の pi を使用し、小数第6位に丸めます。物理的な直径測定の精度をはるかに上回ります。
半径を渡すことはできますか?
このケーパビリティは直径のみを受け付けます。半径を先に2倍するか、カタログの半径ベースの円計算ツールをお使いください。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/math/circumference \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"diameter":10}'const res = await fetch("https://api.kit.forhosting.com/math/circumference", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"diameter": 10
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/circumference",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"diameter": 10
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/circumference", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"diameter":10}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"diameter":10}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/circumference", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"diameter": 10
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.circumference",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |