DOFが次の要素に依存していることは明確です。
- 焦点距離
- 絞り
- 被写体からの距離
- センサーのサイズ
など(コメントで指摘されているとおり)。
しかし、ここでの質問は何ですか:これらのすべての要因をDOFに関連付ける式はありますか?これらの値を考えると、被写界深度を正確に計算することは可能ですか?
DOFが次の要素に依存していることは明確です。
しかし、ここでの質問は何ですか:これらのすべての要因をDOFに関連付ける式はありますか?これらの値を考えると、被写界深度を正確に計算することは可能ですか?
回答:
被写界深度は、倍率とf値の2つの要因に依存します。
焦点距離、被写体距離、サイズ、錯乱円(ブラーが見える半径)が一緒に倍率を決定します。
被写界深度は、式の変数以外のレンズまたはカメラの設計に依存しないため、実際にはすべてのカメラとレンズの被写界深度を計算する一般的な式があります。すべてをメモリにコミットしているわけではないので、Wikipediaからコピーして貼り付けるだけなので、代わりにこのリンクを残します。
あなたの質問へのより良い答えは、最初の原則から式を導き出すことです。これは私がしばらくの間やりたいことでしたが、時間がありませんでした。誰もがボランティアしたい場合は、彼らに賛成票を差し上げます;)
あなたは数学が欲しかったので、ここに行きます:
カメラのCoC、Canon APS-Cサイズのセンサー、この数値は0.018、Nikon APS-C 0.019、フルフレームセンサーと35mmフィルムの数値は0.029です。
式は完全を期すためのものです。
CoC (mm) = viewing distance (cm) / desired final-image resolution (lp/mm) for a 25 cm viewing distance / enlargement / 25
これを行う別の方法は、ツァイス式です:
c = d/1730
ここで、dはセンサーの対角サイズ、cは最大許容CoCです。これにより、わずかに異なる数値が生成されます。
最初にレンズとカメラの過焦点距離を計算する必要があります(この式は、極端なマクロなどの焦点距離に近い距離では不正確です):
HyperFocal[mm] = (FocalLength * FocalLength) / (Aperture * CoC)
例えば:
50mm lens @ f/1.4 on a full frame: 61576mm (201.7 feet)
50mm lens @ f/2.8 on a full frame: 30788mm (101 feet)
50mm lens @ f/1.4 on a Canon APS frame: 99206mm (325.4 feet)
50mm lens @ f/2.8 on a Canon APS frame: 49600mm (162.7 feet)
次に、カメラと被写体の間の距離が与えられたときに焦点が合う最も近い距離である近点を計算する必要があります。
NearPoint[mm] = (HyperFocal * distance) / (HyperFocal + (distance – focal))
例えば:
50mm lens @ f/1.4 on a full frame with a subject at 1m distance: 0.984m (~16mm in front of target)
50mm lens @ f/1.4 on a full frame with a subject at 3m distance: 2.862m (~137mm in front of target)
50mm lens @ f/2.8 on a full frame with a subject at 1m distance: 0.970m (~30mm in front of target)
50mm lens @ f/2.8 on a full frame with a subject at 3m distance: 2.737m (~263mm in front of target)
50mm lens @ f/1.4 on a Canon APS frame with a subject at 1m distance: 0.990m (~10mm in front of target)
50mm lens @ f/1.4 on a Canon APS frame with a subject at 3m distance: 2.913m (~86mm in front of target)
50mm lens @ f/2.8 on a Canon APS frame with a subject at 1m distance: 0.981m (~19mm in front of target)
50mm lens @ f/2.8 on a Canon APS frame with a subject at 3m distance: 2.831m (~168mm in front of target)
次に、カメラと被写体の間の距離が与えられたときに焦点が合う最も遠い距離である遠点を計算する必要があります。
FarPoint[mm] = (HyperFocal * distance) / (HyperFocal – (distance – focal))
例えば:
50mm lens @ f/1.4 on a full frame with a subject at 1m distance: 1.015m (~15mm behind of target)
50mm lens @ f/1.4 on a full frame with a subject at 3m distance: 3.150m (~150mm behind of target)
50mm lens @ f/2.8 on a full frame with a subject at 1m distance: 1.031m (~31mm behind of target)
50mm lens @ f/2.8 on a full frame with a subject at 3m distance: 3.317m (~317mm behind of target)
50mm lens @ f/1.4 on a Canon APS frame with a subject at 1m distance: 1.009m (~9mm behind of target)
50mm lens @ f/1.4 on a Canon APS frame with a subject at 3m distance: 3.091m (~91mm behind of target)
50mm lens @ f/2.8 on a Canon APS frame with a subject at 1m distance: 1.019m (~19mm behind of target)
50mm lens @ f/2.8 on a Canon APS frame with a subject at 3m distance: 3.189m (~189mm behind of target)
これで、合計焦点距離を計算できます。
TotalDoF = FarPoint - NearPoint
例えば:
50mm lens @ f/1.4 on a full frame with a subject at 1m distance: 31mm
50mm lens @ f/1.4 on a full frame with a subject at 3m distance: 228mm
50mm lens @ f/2.8 on a full frame with a subject at 1m distance: 61mm
50mm lens @ f/2.8 on a full frame with a subject at 3m distance: 580mm
50mm lens @ f/1.4 on a Canon APS frame with a subject at 1m distance: 19mm
50mm lens @ f/1.4 on a Canon APS frame with a subject at 3m distance: 178mm
50mm lens @ f/2.8 on a Canon APS frame with a subject at 1m distance: 38mm
50mm lens @ f/2.8 on a Canon APS frame with a subject at 3m distance: 358mm
したがって、CoCとHyperFocalを含む完全な式は事前計算されています。
TotalDoF[mm] = ((HyperFocal * distance) / (HyperFocal – (distance – focal))) -(HyperFocal * distance) / (HyperFocal + (distance – focal))
または簡略化:
TotalDoF[mm] = (2 * HyperFocal * distance * (distance - focal)) / (( HyperFocal + distance - focal) * (HyperFocal + focal - distance))
CoCが事前計算済みの場合:次の式を次のように置き換えて簡略化しようとしました。焦点距離e =開口f =距離X = CoC
TotalDoF = ((((d * d) / (e * X)) * f) / (((d * d) / (e * X)) – (f – d))) - ((((d * d) / (e * X)) * f) / (((d * d) / (e * X)) + (f – d)))
簡略化:
TotalDoF = (2*X*d^2*f*e(d-f))/((d^2 - X*d*e + X*f*e)*(d^2 + X*d*e - X*f*e))
WolframAlphaでさらに簡素化:
TotalDoF = (2 * d^2 * e * (d - f) * f * X)/(d^4 - e^2 * (d - f)^2 * X^2)
または、何も事前に計算されていない場合、このモンスターを取得しますが、これは使用できません。
TotalDoF = ((FocalLength * FocalLength) / (Aperture * (viewing distance (cm) / desired final-image resolution (lp/mm) for a 25 cm viewing distance / enlargement / 25)) * distance) / ((FocalLength * FocalLength) / (Aperture * (viewing distance (cm) / desired final-image resolution (lp/mm) for a 25 cm viewing distance / enlargement / 25)) – (distance – focal)) - ((FocalLength * FocalLength) / (Aperture * (viewing distance (cm) / desired final-image resolution (lp/mm) for a 25 cm viewing distance / enlargement / 25)) * distance) / ((FocalLength * FocalLength) / (Aperture * (viewing distance (cm) / desired final-image resolution (lp/mm) for a 25 cm viewing distance / enlargement / 25)) + (distance – focal))
簡略化:
(50*a*b*c*d^2*f*e*(d-f))/((25*b*c*d^2 - a*d*e + a*f*e)*(25*b*c*d^2 + a*d*e - a*f*e)
したがって、基本的には再計算されたCoCとHyperFocalを使用します:)
被写界深度の公式の実用的な実装をご覧になりたい場合は、このオンライン被写界深度計算機をご覧ください。リンクされたHTMLページのソースには、Javascriptで実装されたすべての式があります。
はい、式があります。1つはhttp://www.dofmaster.com/equations.htmlにあります。これらの式はこの計算機で使用され、被写界深度をより詳細に説明します。私はこのサイトを何度か使用しましたが、自分で実際のテストを行った後、かなり正確であることがわかりました。
簡単なDOF式を次に示します。それが役に立てば幸い。
DOF = 2 * (Lens_F_number) * (circle_of_confusion) * (subject_distance)^2 / (focal_length)^2
参照:http : //graphics.stanford.edu/courses/cs178-09/applets/dof.swf