大阪城リレーマラソンで、写真を撮る楽しみが30年振りによみがえった。あれ以来ハマっていて、だんだんマニアックになってきてる(まるで高校生のガキ^^)。で、今日は、前から気になってた、コサイン誤差とピンボケのことを少し研究^^してみたんだな。
ターゲットの被写体を画面の右隅に置いたり左上に置きたい場合。みんながやってる常套手段は・・・まず被写体をファインダーの中央にもってきてAFでピント合わせ→フォーカスをロック→構図をかえて(カメラを振って)シャッターをきる。この方法の難点は、フォーカスロックした後に構図を変える(カメラを振る)ために生じる「コサイン誤差」。この誤差が被写界深度の範囲におさまっていれば、ピントは合ったままで撮影は成功。そうでなければ、被写体はピンボケになる(コサイン誤差のわかりやすい図はこちらなど)。マクロレンズも購入したことだし、これはとっても気がかりな点なのだ。でも、このふたつの関係を示す見やすい図がネット上に見あたらない(なんでだろ?)。
そこで、自分で作ってみた^^。
被写界深度の計算式はWikipediaのものを利用、プログラムはこちら(GNU R)。これで描いた図の例↓。
(左図)50mm F1.4 のレンズで、1m離れた被写体を、画面中央から15度離れた位置※1に写しこむ構図の場合。デジイチ(APS-C)では、絞り4.5以下でピンボケ。35mmカメラでは、絞り3.5以下でピンボケ。
(右図)90mm マクロレンズで、30cm離れた被写体をねらう。画面中央から7度ずらすと、デジイチでは絞り16以上にしないとピントが合わない。35mmカメラでは、11以上でピントが合う。
コサイン誤差がピンボケを生まない絞り値の下限(ここまで絞ればだいじょうぶという最小値)を A とすると、A は、レンズの焦点距離 f の増加関数、被写体までの距離 s の減少関数、そしてカメラを振る角度 θ の増加関数となる。
A <- function( f, s, θ )ところで、各レンズの焦点距離より求まる対角画角※2の半分の値を、そのレンズ固有のθの最大値(θ*)とできるはず(これ以上にカメラを振ることはできないから)。また、各レンズは固有の最短撮影距離(s*) を持つ。だから、
A* <- function( f, s*, θ*(f) )とすると、この A*は、あるレンズを装着した時に、コサイン誤差によるピンボケがまったく生じないための絞りの最小値である。絞りを A* 以上にしておけば、コサイン誤差の心配はまったくなくなるはず(だよね^^)。
たとえば、手元の NIkkor 50mm F1.4D の場合、デジイチ(APS-C)で使う時の対角画角は32度つまり θ* = 16*(π/180), 最短撮影距離は s* = 0.45m だから、A*=13.5 となる。つまり、このレンズの場合、絞りを13.5以上に絞り込めば、コサイン誤差によるピンボケはどんな場合にも生じない(はず^^)※3。
※1 50mmレンズの対角画角はデジイチ(APS-C)で32度だから、ファインダーの四隅の近くに被写体を置く構図。
※2 焦点距離と画角の計算。なお、同じ APS-C をうたいながら、キャノンのイメージセンサは(したがって画角も)、ニコンよりすこし小さい。
※3 最短撮影距離 0.45mに被写体を置いて絞りを13.5にした時の被写界深度は、0.432mから0.469mまで(パンフォーカスになるわけではもちろんない)。ただもちろん、実際の室内撮影などで13.5まで絞ると、手ブレや高感度ノイズによる乱れが大きくなる。