# Maple/球面像差

> F1 := sin(J) = sin(U)*(L-r)/r;

                            sin(U) (L - r)
sin(J) = --------------
r


> F2 := sin(Jp) = N*sin(J)/Np;

                                N sin(J)
sin(Jp) = --------
Np


> F3 := U+J = Up+Jp;

                       U + J = Up + Jp


> F4 := Lp-r = sin(Jp)*r/sin(Up);

                               sin(Jp) r
Lp - r = ---------
sin(Up)


EQten :=${\displaystyle Lp-lp={\frac {N*(l+L)*lp*Lp}{(L*l*Np)}}+{\frac {(2*(L-r))*N*sin((1/2)*Jp-1/2*J)*sin((1/2)*Jp-(1/2)*U)*lp*Lp}{L*cos((1/2)*Jp-(1/2)*Up)*r*Np}}}$ [1]

• L 为 入射光与光轴交点到球面顶点的距离
• Lp 折射光与光轴交点到球面顶点的距离
• J 为 入射角
• Jp 为折射角
• U 为 入射光与光轴的夹角
• Up 折射光与光轴的夹角
• r 为球面半径
• N,Np 为球面两边的折射率

## 球面像差公式的推导

> Pinvert := proc (epr) 1/op(1, epr) = 1/op(2, epr) end proc;

> PoneMinusLH := proc (expres) simplify(1-lhs(expres) = 1-rhs(expres)) end proc;

> > PsinAddsin := proc (a, b) sin(a)+sin(b) = 2*sin((1/2)*a+(1/2)*b)*cos((1/2)*a-(1/2)*b) end proc;

> > PcosSubcos := proc (p, q) {cos(p)-cos(q) = 2*sin((1/2)*p+(1/2)*q)*sin((1/2)*q-(1/2)*p)} end proc;

> > > > F1 := sin(J) = sin(U)*(L-r)/r;

          ${\displaystyle sin(J)={\frac {sin(U)(L-r)}{r}}}$
r


> F2 := sin(Jp) = N*sin(J)/Np;

           ${\displaystyle sin(Jp)={\frac {Nsin(J)}{Np}}}$



> F3 := U+J = Up+Jp;

                       U + J = Up + Jp


> F4 := Lp-r = sin(Jp)*r/sin(Up);

               ${\displaystyle Lp-r={\frac {sin(Jp)r}{sin(Up)}}}$



> > > sys1 := {F1};

                  /         sin(U) (L - r)\
\  { sin(J) = -------------- }
\               r       /


> > g2 := solve(sys1, L);

                  /    r (sin(J) + sin(U))\
{ L = ------------------- }
\          sin(U)       /


> G1 := op(1, g2);

                       r (sin(J) + sin(U))
L = -------------------
sin(U)


> > > sys4 := {F4};

                     /         sin(Jp) r\
{ Lp - r = --------- }
\          sin(Up) /


> > g4 := solve(sys4, Lp);

                 /     r (sin(Jp) + sin(Up))\
{ Lp = --------------------- }
\            sin(Up)       /


> > G4 := op(g4);

                       r (sin(Jp) + sin(Up))
Lp = ---------------------
sin(Up)


> > > G1INV := Pinvert(G1);

                   1         sin(U)
- = -------------------
L   r (sin(J) + sin(U))


> G4INV := Pinvert(G4);

                  1           sin(Up)
-- = ---------------------
Lp   r (sin(Jp) + sin(Up))


> > NG1 := r*G1INV;

                     r       sin(U)
- = ---------------
L   sin(J) + sin(U)


> NG4 := r*G4INV;

                    r         sin(Up)
-- = -----------------
Lp   sin(Jp) + sin(Up)


> > NG1a := PoneMinusLH(NG1);

                   L - r       sin(J)
----- = ---------------
L     sin(J) + sin(U)


> > NG4a := PoneMinusLH(NG4);

                  Lp - r        sin(Jp)
------ = -----------------
Lp     sin(Jp) + sin(Up)


> > > > > NG4aR := rhs(NG4a); NG1aR := rhs(NG1a);

                           sin(Jp)
-----------------
sin(Jp) + sin(Up)
sin(J)
---------------
sin(J) + sin(U)


> h1a := r/L = 1-NG1aR;

                   r           sin(J)
- = 1 - ---------------
L       sin(J) + sin(U)


> h2a := r/Lp = 1-NG4aR;

                  r             sin(Jp)
-- = 1 - -----------------
Lp       sin(Jp) + sin(Up)


> > H1 := h1a*N/r;

                       /        sin(J)     \
N |1 - ---------------|
N     \    sin(J) + sin(U)/
- = -----------------------
L              r


> H1EX := expand(H1);

                 N   N        N sin(J)
- = - - -------------------
L   r   r (sin(J) + sin(U))


> NG1aR;

                           sin(J)
---------------
sin(J) + sin(U)


> H2 := h2a*Np/r;

                       /         sin(Jp)     \
Np |1 - -----------------|
Np      \    sin(Jp) + sin(Up)/
-- = --------------------------
Lp               r


> > H2EX := expand(H2);

               Np   Np        Np sin(Jp)
-- = -- - ---------------------
Lp   r    r (sin(Jp) + sin(Up))


> > > H1H2 := H2EX-H1EX;

Np   N   Np        Np sin(Jp)         N        N sin(J)
-- - - = -- - --------------------- - - + -------------------
Lp   L   r    r (sin(Jp) + sin(Up))   r   r (sin(J) + sin(U))


> > > > > K := algsubs(Np*sin(Jp) = N*sin(J), H1H2); Np N N sin(J) Np N N sin(J) -- - - = - --------------------- + -- - - + ------------------- Lp L r (sin(Jp) + sin(Up)) r r r (sin(J) + sin(U)) > > > KR := rhs(K); KL := lhs(K);

            N sin(J)          Np   N        N sin(J)
- --------------------- + -- - - + -------------------
r (sin(Jp) + sin(Up))   r    r   r (sin(J) + sin(U))
Np   N
-- - -
Lp   L


> > > op(KR);

            N sin(J)         Np    N       N sin(J)
- ---------------------, --, - -, -------------------
r (sin(Jp) + sin(Up))  r     r  r (sin(J) + sin(U))


> > > KR1 := op(1, KR);

                           N sin(J)
- ---------------------
r (sin(Jp) + sin(Up))


> > KR4 := op(4, KR);

                          N sin(J)
-------------------
r (sin(J) + sin(U))


> > KR1KR4 := KR1+KR4;

                N sin(J)               N sin(J)
- --------------------- + -------------------
r (sin(Jp) + sin(Up))   r (sin(J) + sin(U))


> > KR1KR4a := KR1KR4 = KR4*(1+X);

               N sin(J)               N sin(J)
- --------------------- + ------------------- =
r (sin(Jp) + sin(Up))   r (sin(J) + sin(U))

          N sin(J) (1 + X)
-------------------
r (sin(J) + sin(U))


> > > KR1KR4RH := rhs(KR1KR4a);

                      N sin(J) (1 + X)
-------------------
r (sin(J) + sin(U))


> > > TM1 := subs(1+X = Z, KR1KR4RH);

                         N sin(J) Z
-------------------
r (sin(J) + sin(U))


> > NG1a; T1 := rhs(NG1a); T2 := lhs(NG1a);

                   L - r       sin(J)
----- = ---------------
L     sin(J) + sin(U)
sin(J)
---------------
sin(J) + sin(U)
L - r
-----
L


> TM2 := subs(sin(J)+sin(U) = sinJplussinU, TM1);

                          N sin(J) Z
--------------
r sinJplussinU


> TM3 := algsubs(sin(J)/sinJplussinU = (L-r)/L, TM2);

                         N Z (L - r)
-----------
r L


> > > > > > Y := solve(KR1KR4a, X);

                        sin(J) + sin(U)
- -----------------
sin(Jp) + sin(Up)


> kr1kr4 := KR4*(1+Y);

                        /     sin(J) + sin(U) \
N sin(J) |1 - -----------------|
\    sin(Jp) + sin(Up)/
--------------------------------
r (sin(J) + sin(U))


> > T1 := algsubs(sin(J)+sin(U) = L*sin(J)/(L-r), KR1KR4RH);

                      /          L sin(J)\
N (1 + X) |-sin(U) + --------| (L - r)
\           L - r  /
--------------------------------------
r L sin(J)


> KR1and4 := subs(Z = 1+Y, TM3);

                        /     sin(J) + sin(U) \
N (L - r) |1 - -----------------|
\    sin(Jp) + sin(Up)/
---------------------------------
r L


> > > > > > > > s1 := PsinAddsin(Jp, Up);

                            /1      1   \    /1      1   \
sin(Jp) + sin(Up) = 2 sin|- Jp + - Up| cos|- Jp - - Up|
\2      2   /    \2      2   /


> op(s1);

                            /1      1   \    /1      1   \
sin(Jp) + sin(Up), 2 sin|- Jp + - Up| cos|- Jp - - Up|
\2      2   /    \2      2   /


> t4d := algsubs(s1, KR1and4);

               /         -sin(J) - sin(U)              \
N (L - r) |----------------------------------- + 1|
|     /1      1   \    /1      1   \    |
|2 sin|- Jp + - Up| cos|- Jp - - Up|    |
\     \2      2   /    \2      2   /    /
---------------------------------------------------
r L


> s2 := PsinAddsin(J, U);

                             /1     1  \    /1     1  \
sin(J) + sin(U) = 2 sin|- J + - U| cos|- J - - U|
\2     2  /    \2     2  /


> t4e := algsubs(s2, t4d);

               /       /1     1  \    /1     1  \      \
|    sin|- J + - U| cos|- J - - U|      |
|       \2     2  /    \2     2  /      |
N (L - r) |- --------------------------------- + 1|
|     /1      1   \    /1      1   \    |
|  sin|- Jp + - Up| cos|- Jp - - Up|    |
\     \2      2   /    \2      2   /    /
---------------------------------------------------
r L


> t4f := algsubs(U+J = Up+Jp, t4e);

                     /     /     1      1   \    \
|  cos|-U + - Up + - Jp|    |
|     \     2      2   /    |
N (L - r) |- --------------------- + 1|
|       /1      1   \       |
|    cos|- Jp - - Up|       |
\       \2      2   /       /
---------------------------------------
r L


> t4g := simplify(t4f);

                /   /     1      1   \      /1      1   \\
N (L - r) |cos|-U + - Up + - Jp| - cos|- Jp - - Up||
\   \     2      2   /      \2      2   //
- ----------------------------------------------------
/1      1   \
r L cos|- Jp - - Up|
\2      2   /


> > > s3 := PcosSubcos((Jp-Up)*(1/2), -U+(1/2)*Up+(1/2)*Jp);

/    /     1      1   \      /1      1   \         /1      1  \


{ -cos|-U + - Up + - Jp| + cos|- Jp - - Up| = -2 sin|- Jp - - U|

\    \     2      2   /      \2      2   /         \2      2  /

    /1     1   \\
sin|- U - - Up| }
\2     2   //


> s4 := op(s3);

   /     1      1   \      /1      1   \         /1      1  \


-cos|-U + - Up + - Jp| + cos|- Jp - - Up| = -2 sin|- Jp - - U|

   \     2      2   /      \2      2   /         \2      2  /

    /1     1   \
sin|- U - - Up|
\2     2   /


> s5 := algsubs(s4, t4g);

                         /1      1  \    /1     1   \
2 N (L - r) sin|- Jp - - U| sin|- U - - Up|
\2      2  /    \2     2   /
- -------------------------------------------
/1      1   \
r L cos|- Jp - - Up|
\2      2   /


> > s6 := subs(sin((1/2)*U-(1/2)*Up) = sin((Jp-J)*(1/2)), s5);

                       /1      1  \    /  1      1  \
2 N (L - r) sin|- Jp - - U| sin|- - Jp + - J|
\2      2  /    \  2      2  /
---------------------------------------------
/1      1   \
r L cos|- Jp - - Up|
\2      2   /


> > EQten := KL = op(2, KR)+op(3, KR)+s6;

                                /1      1  \    /  1      1  \
2 N (L - r) sin|- Jp - - U| sin|- - Jp + - J|


Np N Np N \2 2 / \ 2 2 / -- - - = -- - - + --------------------------------------------- Lp L r r /1 1 \

                             r L cos|- Jp - - Up|
\2      2   /



EQten :=${\displaystyle Lp-lp={\frac {N*(l+L)*lp*Lp}{(L*l*Np)}}+{\frac {(2*(L-r))*N*sin((1/2)*Jp-1/2*J)*sin((1/2)*Jp-(1/2)*U)*lp*Lp}{L*cos((1/2)*Jp-(1/2)*Up)*r*Np}}}$  [2]

## 参考文献

1. Conrady, p74-80 (10)*
2. Conrady, p74-80 (10)*

Alexander Eugen Conrady Applied Optics & Optical Design Dover