Abstract

The present group previously proposed a method for determining the first-order derivative matrix (i.e., the Jacobian matrix) of a skew ray by taking all the independent variables of the optical system as the system variable vector, ${\bar{{\textrm{X}}}_{\textrm{sys}}}$. However, many trigonometric function calls, divisions, multiplications and additions were required to determine the ray Jacobian matrix with respect to ${\bar{{\textrm{X}}}_{\textrm{sys}}}$. Accordingly, in the present study, the angular variables in the system variable vector, ${\bar{{\textrm{X}}}_{\textrm{sys}}}$, are replaced with their respective cosine and sine trigonometric functions. The boundary variable vector, ${\bar{{\textrm{X}}}_{\textrm{i}}}$, is similarly redefined such that it includes no angular variables. The proposed method has three main advantages over that previously reported: 1) it is valid for any pose matrix, irrespective of the order in which the rotation and translation motions of a boundary are assigned; 2) it involves only polynomial differentiation, and is thus easily implemented in computer code; and 3) the computation speed of ${{\partial {{\bar{{\textrm{X}}}}_{\textrm{i}}}} \mathord{\left/ {\vphantom {{\partial {{\bar{{\textrm{X}}}}_{\textrm{i}}}} {\partial {{\bar{{\textrm{X}}}}_{\textrm{sys}}}}}} \right.} {\partial {{\bar{{\textrm{X}}}}_{\textrm{sys}}}}}$ is improved by a factor of approximately ten times.

© 2019 Optical Society of America under the terms of the OSA Open Access Publishing Agreement

Full Article  |  PDF Article
OSA Recommended Articles

References

  • View by:
  • |
  • |
  • |

  1. R. J. Leveque, Finite Difference Methods for Ordinary and Partial Differential Equations, Steady-State and Time-Dependent Problems, (SIAM, 2007), pp. 3–4.
  2. B. D. Stone, “Determination of initial ray configurations for asymmetric systems,” J. Opt. Soc. Am. A 14(12), 3415–3429 (1997).
    [Crossref]
  3. R. Shi and J. Kross, “Differential ray tracing for optical design,” Proc. SPIE 3737, 149–160 (1999).
    [Crossref]
  4. T. B. Andersen, “Optical aberration functions: derivatives with respect to axial distances for symmetrical systems,” Appl. Opt. 21(10), 1817–1823 (1982).
    [Crossref]
  5. T. B. Andersen, “Optical aberration functions: derivatives with respect to surface parameters for symmetrical systems,” Appl. Opt. 24(8), 1122–1129 (1985).
    [Crossref]
  6. D. P. Feder, “Calculation of an optical merit function and its derivatives with respect to the system parameters,” J. Opt. Soc. Am. 47(10), 913–925 (1957).
    [Crossref]
  7. D. P. Feder, “Differentiation of ray-tracing equations with respect to constructional parameters of rotationally symmetric systems,” J. Opt. Soc. Am. 58(11), 1494–1505 (1968).
    [Crossref]
  8. Stavroudis, “A simpler derivation of the formulas for generalized ray tracing,” J. Opt. Soc. Am. 66(12), 1330–1333 (1976).
    [Crossref]
  9. J. Kross, “Differential ray tracing formulae for optical calculations: Principles and applications,” Proc. SPIE 1013, 10–18 (1989).
    [Crossref]
  10. F. W. Oertmann, “Differential ray tracing formulae; applications especially to aspheric optical systems,” Proc. SPIE 1013, 20–26 (1989).
    [Crossref]
  11. W. Mandler, “Uber die Berechnung einfacher GauB-Objektive,” Optik 55, 219–240 (1980).
  12. B. D. Stone and G. W. Forbes, “Differential ray tracing in inhomogeneous media,” J. Opt. Soc. Am. A 14(10), 2824–2836 (1997).
    [Crossref]
  13. ZEMAX is a registered trademark of ZEMAX Development Corporation, Bellevue, Washington, USA. http://www.zemax.com/
  14. Code-V is a registered trademark of Optical research Associates, Pasadena, California, USA. http://www.opticalres.com/
  15. P. D. Lin, Advanced Geometrical Optics (Springer, 2017).
  16. P. D. Lin and R. B. Johnson, “Seidel aberration coefficients: an alternative computational method,” Opt. Express 27(14), 19712–19725 (2019).
    [Crossref]

2019 (1)

1999 (1)

R. Shi and J. Kross, “Differential ray tracing for optical design,” Proc. SPIE 3737, 149–160 (1999).
[Crossref]

1997 (2)

1989 (2)

J. Kross, “Differential ray tracing formulae for optical calculations: Principles and applications,” Proc. SPIE 1013, 10–18 (1989).
[Crossref]

F. W. Oertmann, “Differential ray tracing formulae; applications especially to aspheric optical systems,” Proc. SPIE 1013, 20–26 (1989).
[Crossref]

1985 (1)

1982 (1)

1980 (1)

W. Mandler, “Uber die Berechnung einfacher GauB-Objektive,” Optik 55, 219–240 (1980).

1976 (1)

1968 (1)

1957 (1)

Andersen, T. B.

Feder, D. P.

Forbes, G. W.

Johnson, R. B.

Kross, J.

R. Shi and J. Kross, “Differential ray tracing for optical design,” Proc. SPIE 3737, 149–160 (1999).
[Crossref]

J. Kross, “Differential ray tracing formulae for optical calculations: Principles and applications,” Proc. SPIE 1013, 10–18 (1989).
[Crossref]

Leveque, R. J.

R. J. Leveque, Finite Difference Methods for Ordinary and Partial Differential Equations, Steady-State and Time-Dependent Problems, (SIAM, 2007), pp. 3–4.

Lin, P. D.

Mandler, W.

W. Mandler, “Uber die Berechnung einfacher GauB-Objektive,” Optik 55, 219–240 (1980).

Oertmann, F. W.

F. W. Oertmann, “Differential ray tracing formulae; applications especially to aspheric optical systems,” Proc. SPIE 1013, 20–26 (1989).
[Crossref]

Shi, R.

R. Shi and J. Kross, “Differential ray tracing for optical design,” Proc. SPIE 3737, 149–160 (1999).
[Crossref]

Stavroudis,

Stone, B. D.

Appl. Opt. (2)

J. Opt. Soc. Am. (3)

J. Opt. Soc. Am. A (2)

Opt. Express (1)

Optik (1)

W. Mandler, “Uber die Berechnung einfacher GauB-Objektive,” Optik 55, 219–240 (1980).

Proc. SPIE (3)

R. Shi and J. Kross, “Differential ray tracing for optical design,” Proc. SPIE 3737, 149–160 (1999).
[Crossref]

J. Kross, “Differential ray tracing formulae for optical calculations: Principles and applications,” Proc. SPIE 1013, 10–18 (1989).
[Crossref]

F. W. Oertmann, “Differential ray tracing formulae; applications especially to aspheric optical systems,” Proc. SPIE 1013, 20–26 (1989).
[Crossref]

Other (4)

R. J. Leveque, Finite Difference Methods for Ordinary and Partial Differential Equations, Steady-State and Time-Dependent Problems, (SIAM, 2007), pp. 3–4.

ZEMAX is a registered trademark of ZEMAX Development Corporation, Bellevue, Washington, USA. http://www.zemax.com/

Code-V is a registered trademark of Optical research Associates, Pasadena, California, USA. http://www.opticalres.com/

P. D. Lin, Advanced Geometrical Optics (Springer, 2017).

Cited By

OSA participates in Crossref's Cited-By Linking service. Citing articles from OSA journals and other participating publishers are listed here.

Alert me when this article is cited.


Figures (4)

Fig. 1.
Fig. 1. Illustrative optical system consisting of one doublet, one aperture, two lenses and an image plane.
Fig. 2.
Fig. 2. Boundary variables of a boundary surface.
Fig. 3.
Fig. 3. Raytracing at spherical boundary surface.
Fig. 4.
Fig. 4. Schematic representation of matrix ${{\partial \textrm{(}{}^0{{\bar{\textrm{A}}}_{\textrm{i}}})} / {\partial {{\bar{\textrm{X}}}_{\textrm{i}}}}}$with dimension $4 \times 4 \times 15$.

Tables (1)

Tables Icon

Table 1. Comparison of CPU times (in ${10^{ - 6}}\textrm{ sec}$) for previous method [15] and current method for tracing of ray $\overline{\textrm{R}}_\textrm{i}$ and computing four Jacobian matrices.

Equations (59)

Equations on this page are rendered with MathJax. Learn more.

P¯0=[P0xP0yP0z1]T
¯0=[Sα0Cβ0Sβ0Cα0Cβ00]T[0x0y0z0]T,
0A¯e1=tran(te1x,te1y,R1)rot(z¯,ωe1z)rot(y¯,ωe1y)rot(x¯,ωe1x),
0A¯e2=tran(te2x,te2y,qe1+qe1+v2)rot(z¯,ωe2z)rot(y¯,ωe2y)rot(x¯,ωe2x),
0A¯e3=tran(te3x,te3y,qe1+qe1+v2+qe2+v3+R6)rot(z¯,ωe3z)rot(y¯,ωe3y)rot(x¯,ωe3x),
0A¯e4=tran(te4x,te4y,qe1+qe1+v2+qe2+v3+qe3+v4+R8) rot(z¯,ωe4z)rot(y¯,ωe4y)rot(x¯,ωe4x),
0A¯e5=tran(te5x,te5y,qe1+qe1+v2+qe2+v3+qe3+v4+qe4+v5) rot(z¯,ωe5z)rot(y¯,ωe5y)rot(x¯,ωe5x),
e1A¯1=I4×4, e1A¯2=tran(0,0,R1+qe1+R2),e1A¯3=tran(0,0,R1+qe1+qe1+R3),e1A¯2=tran(0,0,R1+qe1+R2), e1A¯3=tran(0,0,R1+qe1+qe1+R3),e2A¯4=I¯4×4,e2A¯5=tran(0,0,qe3), e3A¯6=I¯4×4, e3A¯7=tran(0,0,R6+q{e3}+R7),e4A¯8=I¯4×4, e4A¯9=tran(0,0,R8+q{e4}+R9), e5A¯10=I¯4×4,
X¯sys=[P0xP0yP0zα0β0 ξairξe1ξe1ξe3 ξe4 R1R2R3R6R7R8R9 qe1qe1qe2qe3qe4 te1xte1y ωe1xωe1yωe1z te2xte2yv2ωe2xωe2yωe2z te3xte3yv3ωe3xωe3yωe3z te4xte4yv4ωe4xωe4yωe4zte5xte5yv5ωe5xωe5yωe5z]T,
X¯i=[tixtiytizωixωiyωizξi1ξiRi]T,
X¯sys=[P0xP0yP0zCα0Sα0Cβ0Sβ0 ξairξe1ξe1ξe3ξe4 R1R2R3R6R7R8R9 qe1qe1qe2qe3qe4te1xte1yCωe1xSωe1xCωe1ySωe1yCωe1zSωe1zte2xte2yv2Cωe2xSωe2xCωe2ySωe2yCωe2zSωe2zte3xte3yv3Cωe3xSωe3xCωe3ySωe3yCωe3zSωe3zte4xte4yv4Cωe4xSωe4xCωe4ySωe4yCωe4zSωe4zte5xte5yv5Cωe5xSωe5xCωe5ySωe5yCωe5zSωe5z]T.
R¯7ωe2z=R¯7(Cωe2z)(Sωe2z)+R¯7(Sωe2z)(Cωe2z).
Φ¯1j=Cωejx 2+Sωejx 21=0, (j=1,3,4)
Φ¯2j=Cωejy 2+Sωejy 21=0, (j=1,3,4)
Φ¯3j=Cωejz 2+Sωejz 21=0, (j=1,3,4)
R¯iX¯sys=[P¯i/P¯iX¯sysX¯sys¯i/¯iX¯sysX¯sys]=R¯iX¯iX¯iX¯sys++R¯iR¯i1R¯i1R¯i2R¯2R¯1R¯1X¯1X¯1X¯sys+R¯iR¯i1R¯i1R¯i2R¯1R¯0R¯0X¯0X¯0X¯sys.
ir¯i=[|Ri|CβiCαi|Ri|Sβi|Ri|CβiSαi1]T.
in¯i=si[CβiCαiSβiCβiSαi0]T,
0A¯i=[IixJixKixtixIiyJiyKiytiyIizJizKiztiz0001].
n¯i=[nixniyniz0]=0A¯iin¯i=si[IixCβiCαi+JixSβiKixCβiSαiIiyCβiCαi+JiySβiKiyCβiSαiIizCβiCαi+JizSβiKizCβiSαi0].
P¯i=[PixPiyPiz1]T=[Pi - 1x+i - 1xλ iPi - 1y+i - 1yλ iPi - 1z+i - 1zλ i1]T,
λ i=Di±Di2Ei
Di=i1x(Pi1xtix)+i1y(Pi1ytiy)+i1z(Pi1ztiz),
Ei=(Pi1xtix)2+(Pi1ytiy)2+(Pi1ztiz)2Ri2.
αi=atan2(τi ,σi),
βi=atan2(ρi,σi2+τi2) ,
σi=Iix(Pi - 1x+i - 1xλi)+Iiy(Pi - 1y+i - 1yλi)+Iiz(Pi - 1z+i - 1zλi)(Iixtix+Iiytiy+Iiztiz),
ρi=Jix(Pi - 1x+i - 1xλi)+Jiy(Pi - 1y+i - 1yλi)+Jiz(Pi - 1z+i - 1zλi)(Jixtix+Jiytiy+Jiztiz),
τi=Kix(Pi - 1x+i - 1xλi)+Kiy(Pi - 1y+i - 1yλi)+Kiz(Pi - 1z+i - 1zλi)(Kixtix+Kiytiy+Kiztiz).
Cθi=¯i - 1n¯i=(i - 1xnix+i - 1yniy+i - 1zniz).
Sθ_i=(ξi - 1/ξi - 1ξiξi)SθiNiSθi,
¯i=[ixiyiz0]=[nix1Ni2+(NiCθi)2+Ni(i - 1x+nixCθi)niy1Ni2+(NiCθi)2+Ni(i - 1y+niyCθi)niz1Ni2+(NiCθi)2+Ni(i - 1z+nizCθi)0],
X¯i=[IixIiyIizJixJiyJizKixKiyKiztixtiytizξi1ξiRi]T.
P¯iX¯i=[Pix/PixX¯iX¯iPiy/PiyX¯iX¯iPiz/PizX¯iX¯i0¯]4×15=¯i1 λ iX¯i.
λ iX¯i=DiX¯i±Di(Di2Ei)DiX¯i±12(Di2Ei)EiX¯i,
DiX¯i=[000000000i - 1xi - 1yi - 1z000],
EiX¯i=[0 0 0 0 0 0 0 0 0 2(tixPi - 1x) 2(tiyPi - 1y) 2(tizPi - 1z) 0 0 2Ri].
¯iX¯i=[ix/ixX¯iX¯iiy/iyX¯iX¯iiz/izX¯iX¯i0¯]4×15=(1Ni2+(NiCθi)2) n¯iX¯i + (Ni2Cθi1Ni2+(NiCθi)2) (Cθi)X¯i n¯i +(Ni(1C2θi)1Ni2+(NiCθi)2) NiX¯i n¯i+NiX¯i (¯i - 1+(Cθi)n¯i)+Ni((Cθi)X¯i n¯i+(Cθi)n¯iX¯i).
NiX¯i=[0000000000001/1ξiξiNi/Niξiξi0].
(Cθi)X¯i=(i - 1xnixX¯i+i - 1yniyX¯i+i - 1znizX¯i).
ξair=1, ξe1=1.65, ξe1=1.71736, ξe3=1.52583,ξe4=1.65, R1=38.2219,R2=56.0857, R3=590.682, R6=41.7957, R7=29.3446, R8=63.5635,R9=56.8655, qe1=15.8496, qe1=5.969, qe3=2.5146, qe4=6.096,v2=3.0226, v3=14.028,v4=7.9248, v5=49.6316, ωe1x=0.2, ωe1y=0.5,ωe3x=0.5, ωe3y=1.2, ωe4x=1.2, ωe4y=1,qe2=tejx=tejy=ωejz=0,(j=15)ωe2x=ωe2y=ωe5x=ωe5y=0
rot(x¯,θ)=[10000CθSθ00SθCθ00001]
rot(y¯,θ)=[Cθ0Sθ00100Sθ0Cθ00001]
rot(z¯,θ)=[CθSθ00SθCθ0000100001]
tran(tx,ty,tz)=[100tx010ty001tz0001]
RPY(θz,θy,θx)=rot(z¯,θz)rot(y¯,θy)rot(x¯,θx)
n¯iX¯i=[nix/nixX¯iX¯iniy/niyX¯iX¯iniz/nizX¯iX¯i0¯]=(0A¯i)X¯i in¯i+0A¯i (in¯i)X¯i,
(in¯i)X¯i=si[CβiSαi0CβiCαi0]αiX¯i+si[SβiCαiCβiSβiSαi0]βiX¯i.
(0A¯i)Iix=[1000000000000000],(0A¯i)Iiy=[0000100000000000],(0A¯i)Iiz=[0000000010000000],(0A¯i)Jix=[0100000000000000],(0A¯i)Jiy=[0000010000000000],(0A¯i)Jiz=[0000000001000000],(0A¯i)Kix=[0010000000000000],(0A¯i)Kiy=[0000001000000000],(0A¯i)Kiz=[0000000000100000],(0A¯i)tix=[0001000000000000],(0A¯i)tiy=[0000000100000000],(0A¯i)tiz=[0000000000010000],(0A¯i)ξi - 1=(0A¯i)ξi=(0A¯i)Ri=[0000000000000000].
αiX¯i=1σi2+τi2(τiσiX¯iσiτiX¯i),
βiX¯i=(σi2+τi2)(σi2+ρi2+τi2)ρiX¯iρi(σi2+ρi2+τi2)(σi2+τi2)(σiσiX¯i+τiτiX¯i).
P¯i=0A¯i [σiρiτi1]T.
P¯iX¯i=(0A¯i)X¯i[σiρiτi1]+0A¯i[σi/σiX¯iX¯iρi/ρiX¯iX¯iτi/τiX¯iX¯i0¯],
[σi/σiX¯i X¯i ρi/ρiX¯iX¯iτi/τiX¯iX¯i0¯]=(0A¯i)1(P¯iX¯i(0A¯i)X¯i[σiρiτi1]).
0A¯e1=trans(te1x,te1y,R1)rot(z,¯ωe1z)rot(y¯,ωe1y)rot(x,¯ωe1x) =[Cωe1yCωe1zSωe1xSωe1yCωe1zCωe1xSωe1zCωe1xSωe1yCωe1z+Sωe1xSωe1zte1xCωe1ySωe1zCωe1xCωe1z+Sωe1xSωe1ySωe1zSωe1xCωe1z+Cωe1xSωe1ySωe1zte1ySωe1ySωe1xCωe1yCωe1xCωe1yR10001].
dAe1(1,1,29)=Cωe1z,dAe1(1,1,31)=Cωe1y,dAe1(2,1,29)=Sωe1z,dAe1(2,1,32)=Cωe1y,dAe1(3,1,30)=1,dAe1(1,2,28)=Sωe1yCωe1z,dAe1(1,2,30)=Sωe1xCωe1z,dAe1(1,2,31)=Sωe1xSωe1y,dAe1(1,2,27)=Sωe1z,dAe1(1,2,32)=Cωe1x,dAe1(2,2,27)=Cωe1z,dAe1(2,2,31)=Cωe1x,dAe1(2,2,28)=Sωe1ySωe1z,dAe1(2,2,30)=Sωe1xSωe1z,dAe1(2,2,32)=Sωe1xSωe1y,dAe1(3,2,28)=Cωe1y,dAe1(3,2,29)=Sωe1x,dAe1(1,3,27)=Sωe1yCωe1z,dAe1(1,3,30)=Cωe1xCωe1z,dAe1(1,3,31)=Cωe1xSωe1y,dAe1(1,3,28)=Sωe1z,dAe1(1,3,32)=Sωe1x,dAe1(2,3,28)=Cωe1z,dAe1(2,3,31)=Sωe1x,dAe1(2,3,27)=Sωe1ySωe1z,dAe1(2,3,30)=Cωe1xSωe1z,dAe1(2,3,32)=Cωe1xSωe1y,dAe1(3,3,27)=Cωe1y,dAe1(3,3,29)=Cωe1x,dAe1(4,1,25)=1,dAe1(4,2,26)=1,dAe1(4,3,13)=1.
=[CωelyCωelzCωelySωelzSωelytelxSωelxSωelyCoelz+CωelxSωelzCωelxCoelzSωelxSωelzSωelxCoelytelyCωelxCωelxSωelyCωelz+SωelxSωelzSωelxCωelz+CωelxSωelySωelzCωelxCωelytelySωelx+R10001]
dAe1(1,1,29)=Cωe1z,dAe1(1,1,31)=Cωe1y,dAe1(2,1,28)=Sωe1yCωe1z,dAe1(2,1,30)=Sωe1xCωe1z,dAe1(2,1,31)=Sωe1xSωe1y,dAe1(2,1,27)=Sωe1z,dAe1(2,1,32)=Cωe1x,dAe1(3,1,27)=Sωe1yCωe1z,dAe1(3,1,30)=Cωe1xCωe1z,dAe1(3,1,31)=Cωe1xSωe1y,dAe1(3,1,28)=Sωe1z,dAe1(3,1,32)=Sωe1x,dAe1(1,2,29)=Sωe1z,dAe1(1,2,32)=Cωe1y,dAe1(2,2,27)=Cωe1z,dAe1(2,2,31)=Cωe1x,dAe1(2,2,28)=Sωe1ySωe1z,dAe1(2,2,30)=Sωe1xSωe1z,dAe1(2,2,32)=Sωe1xSωe1y,dAe1(3,2,28)=Cωe1z,dAe1(3,2,31)=Sωe1x,dAe1(3,2,27)=Sωe1ySωe1z,dAe1(3,2,30)=Cωe1xSωe1z,dAe1(3,2,32)=Cωe1xSωe1y,dAe1(1,3,30)=1,dAe1(2,3,28)=Cωe1y,dAe1(2,3,29)=Sωe1x,dAe1(3,3,27)=Cωe1y,dAe1(3,3,29)=Cωe1x,dAe1(4,1,25)=1,dAe1(4,2,26)=Cωe1x,dAe1(4,2,27)=te1y,dAe1(4,3,26)=Sωe1x,dAe1(4,3,28)=te1y,dAe1(4,3,13)=1.
e1A¯3=tran(0,0,R1+qe1+qe1+R3)=[10000100001R1+qe1+qe1+R30000]

Metrics