ストロボのガイドナンバーは照射角でどう変わるか

Share

ストロボの照射角(ズーム位置)を変えると、ガイドナンバー(GN)はどう変化するか。本稿では物理法則から理論式を導出し、Canon スピードライト EL-1の公称データと照合する。

GNの定義

GNはISO 100において次式で定義される。

\[ GN = d \times F \]

\(d\) は被写体距離(m)、 \(F\) は絞り値である。

GNと光度の関係

光軸上の光度を \(I\) (cd)とする。逆二乗則より、距離 \(d\) における照度は次のようになる。

\[ E = \frac{I}{d^2} \]

適正露光の条件として、被写体面での照度 \(E\) と絞り値 \(F\) の間には \(E \propto F^2\) の関係がある(ISO感度一定)。絞りを絞るほど、より明るい照度が必要になるためである。これと逆二乗則を組み合わせると、

\[ \frac{I}{d^2} \propto F^2 \]

\[ d^2 \times F^2 \propto I \]

\[ GN^2 \propto I \]

すなわち、GNは光軸上の光度 \(I\) の平方根に比例する。

\[ GN \propto \sqrt{I} \]

ズームと光度の関係

ストロボのズーム機構は、リフレクターとフレネルレンズで光束の配光角を変えるものである。以下の2つの仮定を置く。

全光束の保存(仮定1)

発光エネルギーはズーム位置によらず一定であり、全光束 \(\Phi\) (lm)は保存される。

均一配光(仮定2)

光束 \(\Phi\) がビームの立体角 \(\Omega\) に均一に分布する。このとき光度は次式で表される。

\[ I = \frac{\Phi}{\Omega} \]

理論式の導出

半頂角 \(\theta\) の円錐が張る立体角は次の通りである。

\[ \Omega = 2\pi(1 - \cos\theta) \]

\(GN \propto \sqrt{I}\) と \(I = \Phi / \Omega\) を合わせると、

\[ GN \propto \sqrt{\frac{\Phi}{\Omega}} \propto \frac{1}{\sqrt{1 - \cos\theta}} \]

これがGNとビーム半頂角 \(\theta\) の理論式である。 べき乗則のような単純な形ではなく、三角関数を含む非線形な関係になる。

焦点距離との関係

ストロボの照射角は、対応するレンズの焦点距離(mm)で表記される。35mmフルサイズの対角半画角は次式で与えられる。

\[ \theta = \arctan\!\left(\frac{21.63}{f}\right) \]

\(f\) は焦点距離(mm)、21.63は35mmフルサイズの対角線長( \(\sqrt{36^2 + 24^2} \approx 43.27\) mm)の半分である。

なお、実際のストロボの配光はレンズの画角よりやや広めに設計されるのが一般的であり、この対応はあくまで近似である。

小角度近似

\(\theta\) が十分に小さい場合(望遠側)、 \(1 - \cos\theta \approx \theta^2 / 2\) であるから \(GN \propto 1/\theta\) となる。さらに小角度では \(\theta \approx 21.63/f\) であるから、

\[ GN \propto f \]

理想モデルの小角度近似では、GNは焦点距離に線形比例する。

厳密計算による理論予測

小角度近似を用いず、理論式で各焦点距離のGNを計算する。Canon EL-1の28mm(GN 27.9)を基準とした式は次の通りである。

\[ GN(f) = 27.9 \times \sqrt{\frac{1 - \cos\theta_{28}}{1 - \cos\theta_f}} \]

計算結果を公称値と比較する。

  • 50mmでは理論GN 44.5 に対し公称GN 36.6
  • 70mmでは理論GN 60.3 に対し公称GN 42.9
  • 105mmでは理論GN 88.9 に対し公称GN 51.1
  • 200mmでは理論GN 167 に対し公称GN 60.0

望遠になるほど乖離が拡大し、200mmでは理論値が公称値の約2.8倍になる。均一配光モデルは実際のストロボの挙動を大幅に過大評価する。

理論と実測が乖離する原因

乖離の主因は仮定2(均一配光)が成立しないことにある。

光学効率の変動

望遠側ほど光束を狭い範囲に集中させることが困難になり、照射範囲外への漏光(スピルオーバー)が増加する。

非均一な配光プロファイル

実際のビームは中心が明るく周辺が暗い。均一配光を仮定した \(I = \Phi / \Omega\) は成立せず、ビーム形状によってGNは大きく変動する。

Canon EL-1にはこの点を裏付ける機能がある。同機は配光特性を「標準」「ガイドナンバー優先」「配光優先」の3モードから選択でき、同一の発光エネルギーでも配光パターンの違いによりGNが変化する。公式マニュアルの公称値を一部引用する(ISO 100、フル発光)。

  • 50mm では、標準モードがGN 36.6、GN優先モードがGN 42.9、配光優先モードがGN 29.0
  • 105mm では、標準モードがGN 51.1、GN優先モードがGN 55.4、配光優先モードがGN 42.9
  • 200mm では、標準モードがGN 60.0、GN優先モードがGN 60.0、配光優先モードがGN 51.1

GN優先モードは光束を中心に集中させ、配光優先モードは周辺まで均一に近い配光を行う。同じエネルギーで配光パターンを変えるだけで50mmではGNに最大約1.5倍の差が生じる。これは、GNが全光束と立体角だけでは決まらず、ビーム形状に強く依存することの直接的な証拠である。

ワイドパネルの影響

14mmポジションでは内蔵の拡散パネルを使用するため、通常のズーム範囲(24mm以上)とは光学系が異なり、追加の光損失が生じる。べき乗フィットの基準点としては不適切である。

経験的べき乗フィット

理論式は実測を大幅に過大評価するため、公称データがどのようなべき乗則に近似できるかを経験的に調べる。28mmを基準として \(GN = GN_{28} \times (f/28)^n\) でフィットし、各ズーム位置の指数 \(n\) を逆算した。

  • 35mmでは \(n \approx 0.60\)
  • 50mmでは \(n \approx 0.47\)
  • 70mmでは \(n \approx 0.47\)
  • 80mmでは \(n \approx 0.50\)
  • 105mmでは \(n \approx 0.46\)
  • 135mmでは \(n \approx 0.42\)
  • 200mmでは \(n \approx 0.39\)

\(n\) は0.39から0.60の範囲にばらつき、単一のべき乗則ではデータを精密に記述できない。全体の傾向としては \(n \approx 0.5\) が最も近い近似であり、 \(GN \propto \sqrt{f}\) が経験的に最良のべき乗近似といえる。

\(n\) が望遠側ほど小さくなる傾向は、光学効率の低下と整合する。望遠側ほどスピルオーバーが増加し、理論的なスケーリングからの逸脱が大きくなる。

結論

  • GNとビーム半頂角 \(\theta\) の理論式は \(GN \propto 1/\sqrt{1 - \cos\theta}\) であり、全光束保存と均一配光の仮定に基づく
  • 小角度近似では \(GN \propto f\) (線形比例)に帰着するが、実際のストロボはこれより遥かに緩やかにしかGNが増加しない
  • 主因はビーム配光の非均一性と光学効率の限界である。Canon EL-1の配光特性モード切替によるGN変動がこれを実証している
  • 公称データは経験的に \(GN \propto f^{0.5}\) 前後で近似できるが、物理法則から導出された関係ではなく、あくまで経験則である

Read more

Dependabotの対応が面倒なのでRenovateを導入する

Dependabotくんはある程度の依存関係の更新を通知してくれるが、山のようにprojectを抱えているとなんとも痒いところに手が届かない。 ということで、Renovateを使ってみる。 Build software better, togetherGitHub is where people build software. More than 150 million people use GitHub to discover, fork, and contribute to over 420 million projects.GitHub ここからGitHub Appを入れる。 あとは、指示に従ってポチポチするだけで、超かんたんだった。 感想 自動化最高。

By Sakashita Yasunobu

nodejsのバグを見つけたのでPRを投げてみた

概要 要するに、node --testで特定のバイナリを標準出力に書くと、テストランナーが固まったり、異常終了したりするバグです。 バグ自体は既知のものだったようで、修正がされていました。 test_runner: infinite loop in FileTest#drainRawBuffer when child stdout contains FF 0F followed by large size bytes · Issue #62693 · nodejs/nodeVersion v25.9.0 (also reproduced on v24.14.1 LTS, v22.21.0 LTS, v23.4.0) Platform Darwin 25.

By Sakashita Yasunobu
青空文庫のParser

青空文庫のParser

青空文庫のParserを作ってます。 GitHub - P4suta/aozora: Pure-functional Rust parser for 青空文庫記法 (Aozora Bunko notation): ルビ, 傍点, 縦中横, 外字, 返り点, indent containers, page breaks.Pure-functional Rust parser for 青空文庫記法 (Aozora Bunko notation): ルビ, 傍点, 縦中横, 外字, 返り点, indent containers, page breaks. - P4suta/aozoraGitHubP4suta Rustで作ってますが、配布物はcargoのほかにnpm/pypiでも入手できます Documentation * Playground — try it in

By Sakashita Yasunobu