逆二乗則による波動強度計算ツール
この計算ツールは、最初の半径で既知の波動強度から、別の半径における強度を求めます。理想的な点源の関係 I₁r₁² = I₂r₂² を適用するため、距離が2倍になると強度は4分の1、距離が半分になると4倍になります。2つの距離には同じ単位を使用し、強度の単位も統一してください。結果には距離比、強度比、変化率、前提条件、計算手順が表示されます。
無料で実行
2つの距離を設定します
まず、測定済みまたは指定済みの初期強度と、その値に対応する点源からの半径方向の距離を入力します。次に、強度を求める目標距離を入力してください。メートル、フィート、センチメートルなどを使用できますが、比を計算するため、両方の距離は同じ単位でなければなりません。強度は W/m² など任意の単位を使用でき、結果も入力時と同じ単位になります。半径方向の距離とは、有効な点源からの直線距離であり、反射による経路長ではありません。式は点源の位置では定義できないため、距離はどちらも0より大きい必要があります。初期強度が0の場合、有限の距離での結果も0です。この設定により、総放射電力を求め直さずに、ある位置の測定値を別の位置へ換算できます。
逆二乗の関係を理解します
等方的な点源では、同じ電力が球面全体に広がります。球の面積は半径の2乗に比例するため、強度は半径の2乗に反比例します。このツールは I₁r₁² = I₂r₂² を I₂ = I₁ × (r₁ / r₂)² に変形して計算します。目標半径が3倍なら強度は9分の1、3分の1なら9倍です。表示される強度比は I₂/I₁、距離比は r₂/r₁ です。変化率が負なら減少、正なら点源に近づくことによる増加を表します。これは幾何学的な拡散の計算であり、デシベル計算ではありません。分野固有の対数尺度が必要な場合は、別途変換してください。
理想モデルが適切か確認します
点源が両方の距離に比べて十分に小さく、障害物のない三次元空間へほぼ均一に放射する場合に、この法則をご利用ください。遠方界ほど近似は良好です。実環境では、媒質による吸収、表面反射、レンズやアンテナによる集束、障害物による遮蔽や回折、広がりを持つ線源の近距離特性などが影響します。本ツールは結果を明確にするため、これらを含めません。必要に応じて実測減衰や専門的な伝搬モデルを追加してください。安全基準、法令適合、医療ばく露、機器保護に用いる場合は、校正済みの測定器と該当規格をご使用ください。初期強度の出典と、実際の配置が点源の前提を満たすかを必ず記録してください。
活用例
遠方の光学放射照度を推定
既知の放射照度を、理想的な自由空間伝搬として遠方の検出器位置へ換算します。
センサー位置を比較
実験前に、コンパクトな線源との距離変更が測定値へ与える影響を予測します。
逆二乗スケーリングを確認
予測した強度比を、吸収や指向性を含む可能性のある観測値と比較します。
よくある質問
どの式を使用しますか?
理想的な点源の球面拡散を表す I₁r₁² = I₂r₂² から導いた I₂ = I₁ × (r₁/r₂)² を使用します。
単位はどのように選びますか?
2つの距離には同じ単位をご使用ください。強度は任意の単位を使用でき、結果もその単位で返されます。
距離を2倍にすると強度が4分の1になるのはなぜですか?
半径が2倍になると球面積が4倍になり、同じ電力が4倍の面積に分散するためです。
吸収や反射も含まれますか?
いいえ。理想的な幾何学的拡散だけを扱い、吸収、反射、集束、障害物、指向性は含みません。
API の利用料金はいくらですか?
API は1回 $0.002 です。ブラウザーでは同じ決定論的な計算を無料で実行できます。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/optics/wave-intensity-inverse-square \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"initial_intensity":120,"initial_distance":2,"final_distance":6}'const res = await fetch("https://api.kit.forhosting.com/optics/wave-intensity-inverse-square", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"initial_intensity": 120,
"initial_distance": 2,
"final_distance": 6
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/optics/wave-intensity-inverse-square",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"initial_intensity": 120,
"initial_distance": 2,
"final_distance": 6
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/optics/wave-intensity-inverse-square", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"initial_intensity":120,"initial_distance":2,"final_distance":6}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"initial_intensity":120,"initial_distance":2,"final_distance":6}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/optics/wave-intensity-inverse-square", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"initial_intensity": 120,
"initial_distance": 2,
"final_distance": 6
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "optics.wave_intensity_inverse_square",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |