フラッシュの逆二乗則による距離と露出段数の計算
このフラッシュ逆二乗減光計算機は、光源から被写体までの最初の距離と移動後の距離を比較します。距離比、残る光量の比率とパーセント、符号付きの露出変化、元の露出を保つために必要な逆向きの補正量を表示します。メートル、フィート、センチメートルなど、両方で同じ単位を使えば任意の長さ単位を利用できます。計算は常に同じ入力から同じ結果を返し、直射フラッシュや小型の定常光源の目安に適しています。
無料で実行
距離によってフラッシュ露出が急速に変わる理由
小さな光源から出た光は、遠くへ進むほど広い面積に分散します。逆二乗則では、照度は距離の二乗の逆数に比例します。フラッシュを2メートルから4メートルへ移すと距離は2倍になりますが、被写体に届く光は半分ではなく4分の1になり、2段暗くなります。反対に4メートルから2メートルへ近づけると、照度は4倍になって2段明るくなります。元の距離をinitial_distance、新しい距離をfinal_distanceに入力してください。計算では比率だけを使うため、両方が同じ単位ならメートル、フィート、センチメートルなどを選べます。距離はカメラやスタンドからではなく、発光部から被写体までを測ってください。directionは遠くなった、近くなった、変化なしのいずれかを示します。exposure_change_stopsが負なら光量減、正なら光量増です。compensation_stopsは反対の符号で、最初の明るさへ戻すための調整量を示します。光そのものの変化と撮影設定の補正を分けることで、「2段変わる」という表現の曖昧さを避けられます。
光量比、パーセント、段数の読み取り方
まず最終距離を初期距離で割り、distance_ratioを求めます。次に、その逆数を二乗してlight_ratioを計算します。light_ratioが0.25なら、新しい位置で届く光は元の4分の1です。light_percentは同じ結果を25パーセントとして示します。露出段数への変換には底2の対数を使います。1段は光量の2倍または半分に相当するためです。exposure_change_stopsがマイナス2ならcompensation_stopsはプラス2です。フラッシュに余力があれば、絞りを2段開く、ISOを2段上げる、または発光量を2段増やすことで補正できます。通常の同調速度以下では、シャッター速度は主に環境光へ影響するため、フラッシュ成分の調整には絞り、ISO、発光量、距離が適しています。移動量が整数段に一致しなければ小数の結果になるのが正常です。precisionで表示する小数桁数を指定できます。丸めは表示時だけに行い、派生値は丸め前の入力から計算します。
逆二乗モデルが有効な場面と実写との差
逆二乗則は、フラッシュが点光源に近く、距離を同じ基準で測り、自動制御が発光量を変更しない場合に特に役立ちます。マニュアルフラッシュの配置、ライティング比較、光量比の学習、移動後に必要な絞りや出力の見積もりに適しています。実際の写真では、ソフトボックスや傘に物理的な大きさがあるため、特に被写体へ近い場合は理論値と異なることがあります。バウンス面、レフ板、グリッド、照射角、室内反射、光束のむらも結果へ影響します。TTLは出力を自動的に上げ、最大出力へ達するまで自然な減光を見えにくくする場合があります。結果は管理された基準値として使い、重要な撮影ではフラッシュメーター、ヒストグラム、テスト撮影で確認してください。このツールは1つの被写体位置で照度を比較し、ガイドナンバー、被写界深度、背景の明るさは計算しません。ブラウザーでは無料で利用でき、自動化したAPIリクエストは1回$0.002です。画像やカメラ情報は不要で、測定値も保存しません。
活用例
マニュアルフラッシュを移動する
被写体までの距離を変えた後、出力、絞り、ISOで必要な補正量を正確に求めます。
照明の奥行きを計画する
人物やライトを配置する前に、距離が照度へ与える影響を比較します。
距離減衰を教材にする
写真講座や演習向けに、再現可能な光量比、割合、露出段数を作成します。
よくある質問
計算機の料金はいくらですか?
ブラウザーでは無料で実行できます。成功したAPIリクエスト1回の料金は$0.002です。
メートルではなくフィートを使えますか?
はい。2つの距離で同じ単位を使えば、任意の長さ単位を利用できます。
距離を2倍にすると、なぜ2段暗くなりますか?
届く光が4分の1になり、半減が2回起きるため、露出変化はマイナス2段になります。
compensation_stopsは何を表しますか?
距離変化を打ち消す調整量です。プラス2なら、出力、絞り、ISOなどで2段分の光を加えます。
TTLフラッシュでも予測どおりに変化しますか?
TTLは最大出力へ達するまで発光量を自動調整し、自然な減光を隠す場合があります。関係を直接確認するにはマニュアル発光をお使いください。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/hobby/photo-flash-inverse-square \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"initial_distance":2,"final_distance":4}'const res = await fetch("https://api.kit.forhosting.com/hobby/photo-flash-inverse-square", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"initial_distance": 2,
"final_distance": 4
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/hobby/photo-flash-inverse-square",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"initial_distance": 2,
"final_distance": 4
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/hobby/photo-flash-inverse-square", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"initial_distance":2,"final_distance":4}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"initial_distance":2,"final_distance":4}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/hobby/photo-flash-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_distance": 2,
"final_distance": 4
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "hobby.photo_flash_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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |