写真の物理学 ⑦ 像倍率の関数的記述

Share
📐
写真の物理学シリーズ ⑦
このシリーズでは、写真にまつわる現象を物理学の言葉で記述する。「なんとなくそうなる」を「なぜそうなるか」に変換することが目的である。

レンズが像を結ぶことは分かった。では、被写体はセンサー上でどのくらいの大きさに写るのか。この問いに答える物理量が横倍率 $m$ である。本記事では、結像公式から横倍率を導き、撮影倍率・画角・フォーカスブリージングの物理を一貫して記述する。

横倍率の導出

横倍率(lateral magnification)は、物体の大きさに対する像の大きさの比として定義される。① 光の直進と薄肉レンズの結像で述べた通り、符号付きの定義は

$$ m = -\frac{b}{a} $$

だ。負号は、実像が倒立することを反映している。カメラのセンサー上に結ばれるのは常に倒立実像であるから、写真の文脈では $m < 0$ が通常の状態だ。以下では像の大きさの比だけが問題になる場面では、倍率の絶対値 $|m|$ を単に「倍率」と呼ぶ。

結像公式 $1/f = 1/a + 1/b$ から $b$ を $a$ と $f$ で表す。

$$ \frac{1}{b} = \frac{1}{f} - \frac{1}{a} = \frac{a - f}{af} $$

$$ b = \frac{af}{a - f} $$

これを $m = -b/a$ に代入すると

$$ m = -\frac{f}{a - f} $$

が得られる。分母 $a - f$ は、物体が焦点より遠い位置にあるとき正であるから、 $m < 0$(倒立実像)となる。倍率の絶対値は

$$ |m| = \frac{f}{a - f} $$

だ。この式の物理的意味は明快である。倍率は焦点距離 $f$ と、物体の焦点からの超過距離 $a - f$ の比で決まる。被写体が焦点距離のちょうど2倍の距離にあるとき $|m| = f/f = 1$ 、すなわち等倍だ。被写体が遠ざかるほど $a - f$ が増大し、倍率は低下する。

次元の確認

$f$ と $a - f$ はどちらも長さの次元を持つから、 $|m| = f/(a - f)$ は無次元量だ。倍率が無次元であることは、倍率が「比」であるという定義と整合している。

ニュートンの結像公式と倍率

ニュートン(Isaac Newton)は、物体距離と像距離を焦点からの距離で測る別の形式を与えた。

$$ x = a - f, \quad x' = b - f $$

と定義する。 $x$ は物体の前方焦点からの距離、 $x'$ は像の後方焦点からの距離だ。結像公式 $1/f = 1/a + 1/b$ に $a = x + f$ 、 $b = x' + f$ を代入して整理すると

$$ xx' = f^2 $$

が得られる。これがニュートンの結像公式だ。導出を示す。

$$ \frac{1}{x + f} + \frac{1}{x' + f} = \frac{1}{f} $$

通分して

$$ \frac{(x' + f) + (x + f)}{(x + f)(x' + f)} = \frac{1}{f} $$

$$ f(x + x' + 2f) = (x + f)(x' + f) $$

右辺を展開すると $xx' + xf + x'f + f^2$ だ。左辺は $fx + fx' + 2f^2$ だ。両辺から $fx + fx' + f^2$ を引けば

$$ f^2 = xx' $$

となる。ニュートンの結像公式のもとでは、 $x' = f^2/x$ を用いて倍率を

$$ m = -\frac{f}{x} = -\frac{x'}{f} $$

と書ける。倍率が $f$ と $x$ だけで決まるという表現は、見通しのよい結果だ。倍率とは、焦点距離と焦点からの物体距離の比にほかならない。

像の大きさとピクセル数への変換

被写体の実寸(光軸に垂直な方向の大きさ)を $S$ とする。センサー上の像の大きさ $S'$ は

$$ S' = |m| \cdot S = \frac{f}{a - f} \cdot S $$

だ。 $S$ と $S'$ の単位を揃える必要がある。 $S$ がmmなら $S'$ もmmだ。

デジタルカメラのセンサーは有限のピクセルで構成される。ピクセルピッチ(隣接する画素の中心間の距離)を $p$ とすると、像が占めるピクセル数 $N$ は

$$ N = \frac{S'}{p} = \frac{|m| \cdot S}{p} $$

で与えられる。

具体例

焦点距離 $f = 50$ mmのレンズで、 $a = 2000$ mm(2 m)の距離にある高さ $S = 300$ mm(30 cm)の被写体を撮影する場合を考える。

$$ |m| = \frac{50}{2000 - 50} = \frac{50}{1950} \approx 0.0256 $$

$$ S' = 0.0256 \times 300 \approx 7.7 \; \text{mm} $$

フルサイズセンサーの短辺は24 mmであるから、この像は短辺の約32%を占める。ピクセルピッチが $p = 5.97$ μm(有効画素数約2430万画素のフルサイズセンサーの典型値)のとき

$$ N = \frac{7.7}{0.00597} \approx 1290 \; \text{ピクセル} $$

となる。被写体に割り当てられるピクセル数は、倍率、被写体の実寸、センサーのピクセルピッチの三者で決まる。フォーマットごとのセンサー寸法とピクセルピッチの関係は⑤ センサーサイズと換算焦点距離の正体で整理する。

2変数関数としての倍率

倍率 $|m|$ は焦点距離 $f$ と物体距離 $a$ の2変数関数だ。

$$ |m|(f,\, a) = \frac{f}{a - f} $$

この関数の振る舞いを偏微分で調べる。

焦点距離に関する偏微分

$a$ を固定して $f$ で偏微分する。

$$ \frac{\partial |m|}{\partial f} = \frac{(a - f) \cdot 1 - f \cdot (-1)}{(a - f)^2} = \frac{a}{(a - f)^2} $$

$a > f > 0$ であるから、この偏微分は常に正だ。焦点距離が長いほど倍率は大きい。これは物撮りは遠くからで述べた「望遠レンズほど被写体を大きく写す」という経験則の数学的根拠である。

物体距離に関する偏微分

$f$ を固定して $a$ で偏微分する。

$$ \frac{\partial |m|}{\partial a} = -\frac{f}{(a - f)^2} $$

$f > 0$ であるから、この偏微分は常に負だ。被写体が遠ざかるほど倍率は単調に減少する。

等倍率線

$|m| = k$(定数)のとき、 $f$ と $a$ の間にどのような関係が成り立つかを調べる。

$$ k = \frac{f}{a - f} $$

を $a$ について解くと

$$ a = f + \frac{f}{k} = f\!\left(1 + \frac{1}{k}\right) = \frac{f(k + 1)}{k} $$

$a$ は $f$ に正比例する。 $f$-$a$ 平面上の等倍率線は原点を通る直線だ。傾き $(k + 1)/k$ は、倍率 $k$ が大きいほど1に近づく( $a \approx f$ に接近する)。倍率が小さいほど傾きは急になり、同じ焦点距離でもより遠い撮影距離が必要になる。

同じ大きさに写す条件

被写体を同じ大きさに写したまま焦点距離を変えたい場面がある。レンズは一本でいいで論じたように、単焦点レンズを交換するとき、フレーミングを維持するには撮影距離の調整が必要だ。

$|m| = k$ を維持する条件は前節で導いた通り

$$ a = \frac{f(k + 1)}{k} $$

だ。焦点距離 $f_1$ で距離 $a_1$ から撮影していたとき、焦点距離 $f_2$ に交換して同じ倍率を保つには

$$ \frac{a_2}{a_1} = \frac{f_2}{f_1} $$

が必要だ。撮影距離の比は焦点距離の比に等しい。50 mmから85 mmに交換したら、距離を $85/50 = 1.7$ 倍にすればよい。2 mで撮っていたなら3.4 mだ。

この関係は⑥ パースペクティブは撮影距離だけで決まるで論じたパースペクティブの変化と直結する。同じ倍率を保って焦点距離を長くすると撮影距離が伸びるため、遠近感が圧縮される。被写体の大きさは同じでも、背景との距離感が変わる。これが物撮りは遠くからで述べた圧縮効果の本質だ。この倍率一定条件のもとで背景のボケ量がどう変化するかは、⑬ 同じ被写体サイズでのボケ比較で厳密に導出する。

マクロ領域の物理

倍率 $|m|$ が1に近づくとき、すなわち像の大きさが被写体の実寸と同程度になるとき、結像の幾何学はどのように振る舞うか。

等倍の条件

$|m| = 1$ のとき

$$ \frac{f}{a - f} = 1 \implies a = 2f $$

である。像距離は $b = af/(a - f) = 2f$ だ。等倍では物体とセンサーがレンズに対して対称な位置にある。物体距離も像距離も焦点距離の2倍だ。

全共役距離の最小値

物体からセンサーまでの全距離(全共役距離) $L$ は

$$ L = a + b = a + \frac{af}{a - f} = \frac{a^2}{a - f} $$

だ。 $L$ を最小化する $a$ を求める。 $dL/da = 0$ とおくと

$$ \frac{dL}{da} = \frac{2a(a - f) - a^2}{(a - f)^2} = \frac{a(a - 2f)}{(a - f)^2} = 0 $$

$a \neq 0$ であるから $a = 2f$ 、すなわち等倍のときに全共役距離は最小値をとる。その値は

$$ L_{\min} = \frac{(2f)^2}{2f - f} = 4f $$

だ。焦点距離50 mmのレンズでは $L_{\min} = 200$ mm、すなわち物体からセンサーまで最低でも20 cmが必要だ。この結果は光学系の基本的な制約であり、マクロレンズの最短撮影距離がなぜ焦点距離の数倍程度に留まるかを説明する。

倍率1を超える領域

$|m| > 1$ となるには $a < 2f$ が必要だ。物体を焦点距離の2倍より近づけると、像は物体より大きくなる。ただし $a > f$ でなければ実像は結ばれないため、実像による拡大撮影が可能な範囲は $f < a < 2f$ だ。

この範囲では像距離 $b > 2f$ となり、レンズのセンサー面からの繰り出し量が増大する。マクロレンズのヘリコイドが通常のレンズより長いのは、この像距離の増大に対応するためだ。マクロ領域に固有の光学的変化(実効F値の増大、被写界深度の急激な浅化、⑮ 回折限界と最適絞りのトレードオフで論じる回折限界の悪化)については⑱ マクロ領域の光学で体系的に扱う。

最短撮影距離と最大撮影倍率

レンズの仕様表には最短撮影距離 $a_{\min}$ と最大撮影倍率 $|m|_{\max}$ が記載されている。これら二つの数値は独立ではない。

$$ |m|_{\max} = \frac{f}{a_{\min} - f} $$

の関係で結ばれている(薄肉近似のもと)。逆に解けば

$$ a_{\min} = f\!\left(1 + \frac{1}{|m|_{\max}}\right) $$

だ。

具体例

NIKKOR Z 50mm f/1.8 S の仕様を考える。最短撮影距離は0.4 m、最大撮影倍率は0.15倍と公表されている。薄肉近似で計算すると

$$ |m| = \frac{50}{400 - 50} = \frac{50}{350} \approx 0.143 $$

となり、公称値0.15倍に近い値が得られる。わずかな差は、実際のレンズが複合レンズ系であり薄肉近似が完全には成立しないこと(近軸近似の限界と収差は⑯ 収差の物理学で扱う)、および最短撮影距離が撮像面からの距離(フランジバック分を含む)として定義されていることに起因する。

等倍マクロレンズの場合、 $|m|_{\max} = 1$ であるから

$$ a_{\min} = 2f $$

だ。焦点距離105 mmの等倍マクロレンズなら、薄肉近似での最短撮影距離は210 mmである(実際の製品では主点のオフセットやフランジバックにより30 cm前後になる)。

フォーカスブリージング

ここまでの議論は、焦点距離 $f$ がフォーカシングによって変化しないことを前提としている。レンズ全体を繰り出す方式(全群繰り出し)であればこの前提は成り立つ。しかし現代の多くの写真レンズは、レンズ群の一部だけを動かすインナーフォーカスを採用している。

インナーフォーカスの利点は明確だ。前玉が回転しない、全長が変わらない、AF駆動が軽量かつ高速になる。しかし代償がある。フォーカシングによってレンズ系内部の間隔が変化するため、近距離合焦時にはレンズ系全体の実効焦点距離が公称値から変化する。

例えば公称焦点距離70–200 mmのズームレンズが、200 mm端で最短撮影距離付近にフォーカスしたとき、実効焦点距離が140 mm程度にまで短くなることがある。結果として

$$ |m|_{\text{actual}} = \frac{f{\text{eff}}}{a - f_{\text{eff}}} < \frac{f_{\text{nominal}}}{a - f_{\text{nominal}}} = |m|_{\text{nominal}} $$

となり、公称焦点距離から期待される倍率よりも実際の倍率が低くなる。

フォーカシングに伴って④ 焦点距離と画角を幾何学で導くで定式化した画角が変わる現象をフォーカスブリージングと呼ぶ。動画撮影ではフォーカスを送るたびに画角が微妙に変動するため、ブリージングは顕著な問題になる。シネマレンズがブリージングを最小化する設計を採るのはこのためだ。

スチル写真においても、フォーカスブリージングの影響は意識すべきだ。望遠レンズで近距離の被写体を撮るとき、ファインダーで見える像の大きさが「思ったより小さい」と感じたら、インナーフォーカスによる実効焦点距離の低下を疑ってよい。最短撮影距離付近での最大撮影倍率が、公称焦点距離から計算した値より低いレンズは、ブリージングが大きいレンズだ。

まとめ

薄肉レンズの結像公式から横倍率を $|m| = f/(a - f)$ として導出し、次の結果を得た。

  • 被写体のセンサー上の像の大きさは $S' = |m| \cdot S$ であり、ピクセル数は $N = S'/p$ で求まる
  • 倍率は焦点距離に対して単調増加、物体距離に対して単調減少する
  • 等倍率線 $|m| = k$ は $f$–$a$ 平面上の原点を通る直線であり、焦点距離を変えて同じフレーミングを保つには撮影距離を焦点距離に比例させればよい
  • 等倍($|m| = 1$)では $a = b = 2f$ となり、全共役距離は最小値 $4f$ をとる
  • 最短撮影距離と最大撮影倍率はレンズの独立した仕様ではなく、$|m|_{\max} = f/(a_{\min} - f)$ の関係で結ばれている
  • インナーフォーカスは近距離で実効焦点距離を変化させ、公称値から予測される倍率との乖離(フォーカスブリージング)を生む

倍率の関数的記述は、被写界深度や⑫ ボケの円を関数で記述するで扱うボケ量、⑭ センサーサイズとボケの統一的理解で扱うフォーマット間比較の基盤になる。白い壁に近づいても露出が変わらない物理学的理由で扱った逆二乗則も、倍率と組み合わせることで⑧ 絞りと有効口径の物理的意味で導くセンサー面照度の完全な記述に至り、露出体系全体は⑩ 露出の統合と逆数則で統合される。被写界深度の厳密な導出は⑪ 被写界深度の厳密な導出で扱う。

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