topical media & game development

talk show tell print

lib-js-math-calculator-field-depth.htm / htm



  
  <!-- TWO STEPS TO INSTALL FIELD DEPTH CALCULATOR:
  
    1.  Copy the coding into the HEAD of your HTML document
    2.  Add the last code into the BODY of your HTML document  -->
  
  <!-- STEP ONE: Paste this code into the HEAD of your HTML document  -->
  
  <HEAD>
  
  <SCRIPT LANGUAGE="JavaScript">
  <!-- Original:  alistair@silverlight.co.uk -->
  <!-- Web Site:  http://www.silverlight.co.uk -->
  
  <!-- This script and many more are available free online at -->
  <!-- The JavaScript Source!! http://javascript.internet.com -->
  
  <!-- Begin
  // alistair@silverlight.co.uk
  // http://www.silverlight.co.uk
  function doField(form) {
  distance = (form.distance.value)*1000;
  CoC = (document.form.format.options[document.form.format.selectedIndex].value);
  aperture = (document.form.aperture.options[document.form.aperture.selectedIndex].value);
  focal = (document.form.focal.options[document.form.focal.selectedIndex].value);
  if (isNaN(distance))  {
  alert('Please enter a numerical value for subject distance.');
  document.form.distance.focus();
  document.form.distance.select();
  }
  else {
  hyperFocal = (focal * focal) / (aperture * CoC);
  form.hyperFocal.value  = Math.round(hyperFocal) / 1000 + " m";
  dofNear = (hyperFocal * distance) / (hyperFocal + (distance - focal));
  form.dofNear.value = Math.round(dofNear) / 1000 + " m";
  dofFar = (hyperFocal * distance) / (hyperFocal - (distance - focal));
  if (dofFar < 0) {
  form.dofFar.value  = "Infinity.";
  }
  else {
  form.dofFar.value  = Math.round(dofFar)/1000+" m";
  }
  dofTotal = Math.round(dofFar - dofNear);
  if (dofTotal < 0) {
  form.dofTotal.value  = "Infinite.";
  }
  else {
  if (dofTotal >= 0 && dofTotal < 0.001) {
  form.dofTotal.value  = ">1 mm ";
  }
  else {
  form.dofTotal.value = dofTotal / 1000 + " m";
           }
        }
     }
  }
  //  End -->
  </script>
  </HEAD>
  
  <!-- STEP TWO: Copy this code into the BODY of your HTML document  -->
  
  <BODY>
  
  <center>
  <form method=post name=form>
  <table border=3 cellpadding=10 cellspacing=0 width=500>
  <tr>
  <td align=center colspan=2>
  Depth of Field Calculator
  </td>
  </tr>
  <tr>
  <td align=left>
  Negative Format
  </td>
  <td align=left>
  <select name=format>
  <option value=0.033>35 mm
  <option value=0.025>APS
  <option value=0.05>6x45 cm
  <option value=0.06>6x6 cm
  <option value=0.065>6x7 cm
  <option value=0.15>5x4 inch
  <option value=0.3>10x8 inch
  </select>
  </td>
  </tr>
  <tr>
  <td align=left>
  Lens focal length
  </td>
  <td align=left>
  <select name=focal>
  <option value=17>17 mm
  <option value=20>20 mm
  <option value=24>24 mm
  <option value=28>28 mm
  <option value=35>35 mm
  <option value=50>50 mm
  <option value=70>70 mm
  <option value=80>80 mm
  <option value=100>100 mm
  <option value=135>135 mm
  <option value=150>150 mm
  <option value=200>200 mm
  <option value=210>210 mm
  <option value=300>300 mm
  <option value=350>350 mm
  <option value=400>400 mm
  </select>
  </td>
  </tr>
  <tr>
  <td align=left>
  Selected aperture
  </td>
  <td align=left>
  <select name=aperture>
  <option value=1.4>F 1.4
  <option value=1.8>F 1.8
  <option value=2>F 2
  <option value=2.8>F 2.8
  <option value=4>F 4
  <option value=5.6>F 5.6
  <option value=8> F 8
  <option value=11>F 11
  <option value=16>F 16
  <option value=22>F 22
  <option value=32>F 32
  <option value=45>F 45
  <option value=64>F 64
  <option value=90>F 90
  </select>
  </td>
  </tr>
  <tr>
  <td align=left>
  Subject distance (Meters)
  </td>
  <td align=left>
  <input type=text name=distance value="" size=6>
  </td>
  </tr>
  <tr>
  <td colspan=2 align=left>
  <br>
  <center><input type=button value="Calculate." onclick="doField(this.form)"></center>
  <p>
  <input name=hyperFocal type=text value="" size=6> Hyperfocal distance for this lens/aperture combination.
  <BR>
  <input name=dofNear type=text value="" size=6> Near limit of acceptable sharpness.
  <BR>
  <input name=dofFar type=text value="" size=6> Far limit of acceptable sharpness.
  <BR>
  <input name=dofTotal type=text value="" size=6> Total depth of field.
  <BR>
  <br>
  </td></tr>
  </table>
  </form>
  </table>
  </center>
  
  <p><center>
  <font face="arial, helvetica" size="-2">Free JavaScripts provided<br>
  by <a href="http://javascriptsource.com">The JavaScript Source</a></font>
  </center><p>
  
  


(C) Æliens 20/2/2008

You may not copy or print any of this material without explicit permission of the author or the publisher. In case of other copyright issues, contact the author.