Wolfram Computation Meets Knowledge

Lensmaker's Equation

A lens is a transmissive optical device that focuses or disperses a light beam by means of refraction. The lensmaker's equation describes the relationship between focal length and the radii of curvature of the lens.

The focal length increases in value with the radii of curvature for the front and back surfaces of a lens, though the smaller of the two determines whether the focal length is positive (front) or negative (back). The lens thickness and the refractive indices of the lens material and the ambient medium also adjust the effective focal length.

Formula

QuantityVariable["f", "Length"]^(-1) == (-1 + QuantityVariable[Subscript["n", "l"], "Unitless"]/QuantityVariable[Subscript["n", "m"], "Unitless"])*(QuantityVariable[Subscript["r", "1"], "Length"]^(-1) - QuantityVariable[Subscript["r", "2"], "Length"]^(-1) + (QuantityVariable["d", "Length"]*(QuantityVariable[Subscript["n", "l"], "Unitless"] - QuantityVariable[Subscript["n", "m"], "Unitless"]))/(QuantityVariable[Subscript["n", "l"], "Unitless"]*QuantityVariable[Subscript["r", "1"], "Length"]*QuantityVariable[Subscript["r", "2"], "Length"]))

symbol description physical quantity
f focal length "Length"
nl refractive index of lens material "Unitless"
nm refractive index of ambient medium "Unitless"
r1 radius of curvature for front surface of lens "Length"
r2 radius of curvature for back surface of lens "Length"
d lens thickness "Length"

Forms

Examples

Get the resource:

In[1]:=
ResourceObject["Lensmaker's Equation"]
Out[1]=

Get the formula:

In[2]:=
FormulaData[ResourceObject["Lensmaker's Equation"]]
Out[2]=

Use some values:

In[3]:=
FormulaData[
 ResourceObject[
  "Lensmaker's Equation"], {QuantityVariable["f","Length"] -> 
   Quantity[50, "Millimeters"], QuantityVariable[
\!\(\*SubscriptBox[\("r"\), \("2"\)]\),"Length"] -> 
   Quantity[-300, "Centimeters"], QuantityVariable[
\!\(\*SubscriptBox[\("n"\), \("m"\)]\),"Unitless"] -> 1, 
  QuantityVariable[
\!\(\*SubscriptBox[\("n"\), \("l"\)]\),"Unitless"] -> 1.5`, 
  QuantityVariable[
\!\(\*SubscriptBox[\("r"\), \("1"\)]\),"Length"] -> 
   Quantity[300, "Centimeters"]}]
Out[3]=

Publisher Information