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 := [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;
r
> F2 := sin(Jp) = N*sin(J)/Np;
> F3 := U+J = Up+Jp;
U + J = Up + Jp
> F4 := Lp-r = 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 := [2]
參考文獻
編輯Alexander Eugen Conrady Applied Optics & Optical Design Dover