#Most  dediction of  depth of field of optical lens  involves various simplification,  hence cannot be used  for  close up photography.  With Maple, it is easy to obtain  precise   Depth of field  formuar for optical lens  without  any simplification

 

> restart; h := H = F^2/(N*coc)+F; E0 := 1/d+1/D0 = 1/F; E1 := 1/(d+e)+1/D2 = 1/F; E2 := a/(d+e) = coc/delta; E3 := a = F/N; eq := {E0, E1, E2, E3, h}; var := {D2, N, coc, d, delta}; e := -delta; sol1 := solve(eq, var); t1 := op(sol1)[1]; Dfar := op(t1)[2]; e := delta; sol2 := solve(eq, var); t2 := op(sol2)[1]; Dnear := op(t2)[2];

 

                               2      
                              F       
                         H = ----- + F
                             N coc    
                           1   1    1
                           - + -- = -
                           d   D0   F
                           1     1    1
                         ----- + -- = -
                         d + e   D2   F
                           a      coc 
                         ----- = -----
                         d + e   delta
                                 F
                             a = -
                                 N
 /      2                                                        
 |     F             F    a      coc   1   1    1    1     1    1
< H = ----- + F, a = -, ----- = -----, - + -- = -, ----- + -- = -
 |    N coc          N  d + e   delta  d   D0   F  d + e   D2   F
 \                                                               
 
  \ 
  | 
   >
  | 
  / 
                     {D2, N, coc, d, delta}
                             -delta
     /                                                      
     |     D0 (-H + F)      F           F a         D0 F    
    < D2 = -----------, N = -, coc = - ------, d = -------, 
     |       D0 - H         a          -H + F      -F + D0  
     \                                                      
 
                     2   \ 
                 D0 F    | 
      delta = ----------- >
              H (-F + D0)| 
                         / 
                          D0 (-H + F)
                          -----------
                            D0 - H   
                             delta
   /                                                         
   |       D0 (-H + F)       F           F a         D0 F    
  < D2 = - ------------, N = -, coc = - ------, d = -------, 
   |       D0 + H - 2 F      a          -H + F      -F + D0  
   \                                                         
 
                            2           \ 
                        D0 F            | 
    delta = - -------------------------- >
                              2         | 
              F H - H D0 - 2 F  + 2 D0 F/ 
                           D0 (-H + F) 
                         - ------------
                           D0 + H - 2 F
> NULL;
> N := 16; cc := 0.15e-1; F := 25; D0 := 3000; H := F^2/(N*cc)+F;
                               16
                             0.015
                               25
                              3000
                     2629.1666666666666667
> NULL;
> Aperture := [2.8, 4, 5.6, 8, 11, 16, 22]; na := nops(Aperture);
                  [2.8, 4, 5.6, 8, 11, 16, 22]
                               7
> Dis := [300, 400, 500, 600, 800, 1000, 1200, 1500, 2000, 3000, 4000]; nd := nops(Dis);
 [300, 400, 500, 600, 800, 1000, 1200, 1500, 2000, 3000, 4000]
                               11
> print(8*" x 12"*Tessina*Depth*of*Field*Table); printf("%10s%10g%10g%10g%10g%10g%10g%10g\n", "  D  ", Aperture[1], Aperture[2], Aperture[3], Aperture[4], Aperture[5], Aperture[6], Aperture[7]); for j to nd do for i to na do N := Aperture[i]; D0 := Dis[j]; H := evalf[4](F^2/(N*cc)+F); Dn[i] := evalf[4](Dfar); Df[i] := evalf[4](Dnear) end do; printf("%10g%10g%10g%10g%10g%10g%10g%10g\n", D0, Dn[1], Dn[2], Dn[3], Dn[4], Dn[5], Dn[6], Dn[7]); printf("%10g%10g%10g%10g%10g%10g%10g%10g\n", D0, Df[1], Df[2], Df[3], Df[4], Df[5], Df[6], Df[7]) end do;
 
 
             8 " x 12" Tessina Depth of Field Table
       D         2.8         4       5.6         8        11        16        22
       300     305.8     308.3     311.5     316.6     323.4     335.4       351
       300     294.7     292.4     289.3     284.9     279.6     271.3       262
       400     410.5     415.1     421.2       431     443.9     467.5     498.7
       400     390.3     386.3     380.8     373.1     363.9     349.8     333.9
       500     516.7     524.1     534.1     550.2     571.7     611.6     667.4
       500     484.7     478.4       470     458.2     444.3     422.9     399.7
       600     624.3     635.4     650.3     674.5     707.4     769.8     861.3
       600     577.9     568.9       557     540.4       521     491.3     460.1
       800       844     864.7       893     939.8      1006      1139      1354
       800     760.4       745     724.5     696.3       664     616.5     567.6
      1000      1071      1104      1151      1230      1347      1599      2061
      1000     938.8     914.8     884.1     842.3     795.3     727.6     660.2
      1200      1304      1353      1425      1550      1740      2187      3161
      1200      1113      1079      1036     979.2       916     826.9     740.6
      1500      1666      1748      1871      2093      2457      3460      6780
      1500      1365      1315      1252      1169      1080     957.6     843.3
      2000      2307      2469      2723      3223      4179      8280    -46770
      2000      1766      1682      1580      1451      1315      1137     979.1
      3000      3751      4202      4999      6995     13970    -21060     -5256
      3000      2501      2335      2144      1909      1680      1400      1167
      4000      5461      6472      8589     16890    -81020     -7600     -3641
      4000      3158      2896      2608      2268      1952      1584      1291
 

>

>
>

>
>
>


Please Wait...