はじめに
光学関連の勉強や研究、仕事を行っていると避けては通れない知識の一つとして収差論がある。一般に収差といえば分散が関係している色収差と単色収差がある。
しかし、単色収差については一般の教科書や解説記事ではそのような収差があるというだけで原理的な説明記事は多く存在していない。
この背景には光学エンジニアのバイブル的立ち位置であるBornによる「光学の原理」[草川1974]に詳細に書かれているからと、結構厄介な計算が多いからと理解している。
一方で「光学の原理」が執筆されたのは1974年とかなり古く、自分としても理解が難しい点があったので自分への備忘録含めて平易に書き下すことを本記事の目的とする。
また、自分の理解の仕方も多分にあるため、厳密には教科書を読むことを強くお勧めする。
また、収差論については全2編を想定しており、こちらは前編とする。
全3回となりました、全編は以下のようになります。
| 記事番号 | タイトル概要 | 主な内容 |
|---|---|---|
| 1回目 | Seidelの収差論①-瞳面と波面収差の立式 | 収差論の基礎として「瞳面」や「波面収差」の定式化(入射/出射瞳、NA、Fナンバーなど)を平易に解説 |
| 2回目 | Seidelの収差論②-光線収差とSeidel収差の各項 | 波面収差を展開し、Seidel収差(球面収差、コマ、非点収差、像面湾曲、歪曲)の導入までを体系的に整理 |
| 3回目 | Seidelの収差論③-Juliaによる可視化 | これまで導入したSeidel収差をJuliaで数式化し、各収差(球面収差、コマ、非点収差、像面湾曲、歪曲)を可視化。理論と直感的理解をつなげる内容 |
収差について
収差(aberration)とは理想的なレンズの働きからのずれをいい、5種類の単色収差と2種類の色収差に大別することができる[参考:Nikon 収差とは]。このうち単色収差はSeidel(日本語では”ザイデル”と呼ぶことが多い。)収差と呼んだりする。Seidelは幾何学的収差について系統的に研究し、完全に公表された論文を出版したことが知られている[Seidel1856][草川1974]。また、Seidelは\( \sin \theta \simeq \theta – \theta^3/6\)と近似して解いたとされており[伊東1997]、3次収差といった呼ばれ方もする。(この3次収差といった呼ばれ方は座標の3次であるといった話もある。)
視覚的な理解についてはnikonのサイトが非常にわかりやすいのでそちらを参考にしていただきたい[参考:Nikon 収差とは]。
入射/出射瞳について
収差論に入る前に基本的な光学システムの理解を行っていく。瞳の定義の仕方は2通りの図による理解があり、自分としては非常に混乱したのでここらへんを明確にしながら説明する。(同じことを言っているが、初見ではわかりづらかった。)
また、光線の定義などはBokor先生による講義資料もわかりやすかったので参考にしてほしい。
光源を点光源としたときの瞳の定義
今回解説する瞳の定義は、収差論について参考にした教科書の「光学の原理」[草川1974]で説明された定義であり、自分が所持している他の教科書のシミュレーション光学[牛山2003]でも同じ定義であった。

上述のような光学系を考える。物体面から出る光線を考える。物体面の光学系による像(光線の交点)を入射瞳(entrance purpil)と呼び、像面での光学系による像を射出瞳(exit purpil)と呼ぶ[牛山2003]。また、結像光束の断面を決定する絞りのことを口径絞りあるいは開口絞り(aperture stop)と呼ぶ。
また、後述する面光源としたときのほうが作図上は開口絞りと各瞳の関係がよりわかりやすい(今回は見やすさのために開口絞りの作図は行っていない)。一方でこちらのほうがよく出てくる光学パラメータとの関係がわかりやすい。
上図の物体面における光軸からの光線の広がり角\( \theta \)を用いて、開口数NAを表すことができ(一般に開口数のことをそのまま「エヌエー」と呼ぶことが多い)、物空間の屈折率\(n\)を用いて
\begin{equation}
\text{NA} = n\sin \theta
\end{equation}
によってあらわされる。また、集光能力を表すFナンバー\( f \# \)と呼ばれるものがあり、入射瞳の直径\( d\)とレンズの焦点距離\(f \)を用いて
\begin{equation}
f \# =\frac{f}{d}
\end{equation}
によって定義される。また、開口数NAとは
\begin{equation}
\text{NA} = \frac{1}{2 f \# }
\end{equation}
の関係で結ばれている。Fナンバーが小さい/NAが大きいほど明るい(~\( d\)が小さいので入る光線数が大きくなる)とされ、Fナンバーが大きい/NAが小さいほど暗いと呼ばれる。
光源を面光源としたときの瞳の定義
こちらの定義方法は顕微鏡やカメラレンズ光学系を想定した定義の方法となっていることが多い[加藤2015][Youtube動画、カメラ部さんによる解説動画][東大、黒田先生による講義ノート]。これは具体的な物体を想定するというより、風景をそのままセンサーに記録するときに用いるときの光学系を想定していると考えられる(※要検証)。
瞳の定義は次のように定義される[加藤2015]。

こちらも点光源同様に入射光(青の破線)による像(光線の交点)で入射瞳、射出光(赤の破線)による像(光線の交点)で射出瞳が定義される。当たり前ではあるが、像の位置関係によってz軸の位置関係が反転しているが、ここで前述の点光源と全く同じ定義になっていることがわかる。
ここで前の光学系(図でいう左側のレンズ)の焦点位置に開口絞りがある場合には、入射瞳は無限遠にでき、物空間のすべての主光線は光軸に平行になる。このような系を物体側においてtelecentric(日本語ではテレセントリックと呼ぶことが多い)であるという。反対に後ろの光学系の焦点位置に開口絞りがある場合には、像側においてtelecentricであるという。
上記のterecentricといった関係を使ったレンズのことをテレセントリックレンズと呼んだりすることがあい、現在も様々な用途で利用されている[例えば、テレセントリックレンズとは? 通常のレンズとの違いや基本原理、メリットを解説 | デジタルマイクロスコープならアクティブウェーブ]。
収差の定義
この章より「光学の原理」[草川1974]を参考に解説を行っていく。

図1 物体面、入射面、射出面、像面
回転対称な以上のような光学系を考え、物点\( P_0 \)を出た光線が、入射面、射出面、像面と交わる点を以上のように\( P_0, P_1′, P_1\)とする。以上のような図を考える。
また、Gauss像面(収差がないときの結像面)での結像点;Gauss像点\( P_1^* \)としたときにベクトル\( \boldsymbol{ \delta }_1 = \overrightarrow{P_1^* P_1}\) を光線収差(the aberration of the ray)という。
また、射出面から像面の部分に特に注目して収差を深堀していく。

図2 波面収差と光線収差
Gauss参照球面(理想的な場合の波面)を\( S\)として、収差を含めたときの光束の波面を\( W\)とする。ここで、収差を含めない時の波面はガウス参照球面に一致する。
光線\( P’_1 P_1 \)がGauss参照球面\( S\)と交わる点を\( Q\)、光線\( P’_1 P_1 \)が収差を含めたときの光束の波面\( W\)と交わる点を\( \bar{Q}\)とする。
2点の光路長を大かっこで表すとして(例えばaとbの光路長は\( [ab]\)、光路長\( \Phi = [\bar{Q}Q] \)をQにおける波面収差と呼び、通常の光学系の波面収差は波長の40~50倍程度とされている。
収差についての立式
これより光学の原理にそって立式を行うが、これからの記述はEikonal関数[Jacob2004]の論文等も参考になる。
波面収差はHamiltonのPoint Characteristic functionによって、波面収差は次のように表すことができる。
HamiltonのPoint Characteristic functionについての補足説明
論文 Eikonal Functions: Old and New [Jacob2004]では、Hamilton の point characteristic function(点特性関数)について次のように説明されている。また、教科書第4章1節に記述あり。
Hamilton は光学媒質中の 2 点を結ぶ各光線に 光学距離(optical length) を対応づけた。
より具体的には、Hamilton は point characteristic function \( S(\vec{x}, \vec{x}’) \) を定義し、面 \(P\) 上の点 \( \vec{x} \) と面 \( P’ \) 上の点 \( ′\vec{x}’ \) の間の 光学距離(optical distance) を与える関数とした。
\begin{align}
\Phi &= [\bar{Q}Q]\\
&= [P_0Q]-[P_0\bar{Q}]\\
&= [P_0Q]-[P_0O’_1]
\end{align}
が得られる。ただし、\(\bar{Q}, O’_1\)が同一波面上にあり、そのために\([P_0\bar{Q}]=[P_0 Q’_1] \) が成立することを用いた。(基準波面は「基準となる理想的な光学距離」で定義されている→物点\(P_0\)からその波面までの光学距離は波面上のどの点を取っても同じ値になる→\([P_0\bar{Q}]=[P_0 Q’_1] \) が成立)
上式についてPoint characterisit \(V\)を用いて、図1の座標系(X,Y,Z)を持ちいてを波面収差を表示すると
\begin{align}
\Phi &= [P_0Q]-[P_0O’_1]\\
&= V(X_0, Y_0, 0;X,Y,Z) – V(X_0,Y_0, 0; 0,0,-D_1)
\end{align}
ここで\(P_0, Q, O’_1\)の座標がそれぞれ\( (X_0, Y_0, 0), (X,Y,Z), ( 0,0,-D_1)\)であることを考えると上式の理解はしやすい。また、\(Q\)はGauss参照球面上にあるので
\begin{equation}
(X-X_1^*)^2 + (Y-Y_1^*)^2 + Z^2 = R^2
\end{equation}
を満足しなければいけない。また
\begin{align}
X_1^* &= MX_0\\
Y_1^* &=MY_0
\end{align}
はGauss像点\( P_1^* \)の座標であり、\(M\)はGauss横倍率(像の大きさと物体の大きさの比率、倍率と呼んだりする。)である。さらに\(R\)はGauss参照球面の半径
\begin{equation}
R = \sqrt{ X_1^{*2} + Y_1^{*2} + D_1^2 }
\end{equation}
である。上記の関係を用いて波面収差の\(Z\)を消去すると\( \Phi\)は\( X_0, Y_0, X, Y\)の関数で表すことができて、
\begin{align}
\Phi &= V(X_0, Y_0, 0;X,Y,Z) – V(X_0,Y_0, 0; 0,0,-D_1) \\
&= V(X_0, Y_0, 0;X,Y,R^2 – \{ (X-X_1^*)^2 + (Y-Y_1^*)^2\} ) – V(X_0,Y_0, 0; 0,0,-D_1)\\
&= \Phi(X_0,Y_0;X,Y)
\end{align}
とみなすことができる。収差関数\( \Phi(X_0,Y_0;X,Y) \)によって、光線収差は単純な形に変形できる。収差関数について\(X\)で微分すると
\begin{equation}
\frac{\partial \Phi}{\partial X} = \frac{\partial V}{\partial X} + \frac{\partial V}{\partial Z}\frac{\partial Z}{\partial X}
\end{equation}
が得られる。光線\( QP_1 \)が座標軸となす角を\( \alpha_1, \beta_1, \gamma_1 \)として点\( Q\)および\( P_1\)の座標をそれぞれ( \( X, Y, Z\) )および( \( X_1, Y_1, 0\) )とすると図2より
\begin{align}
\frac{\partial V}{\partial X} &= n_1 \cos \alpha_1 = n_1 \frac{X_1-X}{R’}\\
\frac{\partial V}{\partial Z} &= n_1 \cos \gamma_1 = -n_1\frac{Z}{R’}
\end{align}
ここで\(n_1\)はこの像空間内の屈折率となっている。また、\(R’\)は\(QP_1\)の距離であり、
\begin{equation}
R’ = \sqrt{ (X_1-X)^2 + (Y_1 -Y)^2 + Z^2}
\end{equation}
さらに、\( (X-X_1^*)^2 + (Y-Y_1^*)^2 + Z^2 = R^2 \)の関係から
\begin{equation}
\frac{\partial Z}{\partial X} = – \frac{X-X_1^*}{Z}
\end{equation}
が得られる。収差関数について\(X\)で微分した式は
\begin{align}
\frac{\partial \Phi}{\partial X} &= \frac{\partial V}{\partial X} + \frac{\partial V}{\partial Z}\frac{\partial Z}{\partial X}\\
&= n_1 \frac{X_1-X}{R’} + \left(-n_1\frac{Z}{R’} \right) \left(- \frac{X-X_1^*}{Z} \right)\\
\frac{R_1′}{n_1}\frac{\partial \Phi}{\partial X} &= X-X_1^*
\end{align}
が得られる。同様にして
\begin{align}
\frac{R_1′}{n_1}\frac{\partial \Phi}{\partial Y} &= Y-Y_1^*
\end{align}
が得られる。この式は厳密な式だが、波面収差\(\Phi\)を考察するにあたり光線収差に依存する\(R’\)を含んでいるため、循環論法のような事態が発生する。
しかしながら、一般的に\(R’\)はGauss波面球面\(R\)を置き換えることによる近似が成り立つことが多い。
\( \Phi \)についてさらに考察していく。\(\Phi\)の変数について\( X, X_0, Y, Y_0 \)の4変数に依存するが、対称性を利用すると\(X_0^2+Y_0^2, X^2+Y^2, X_0X+Y_0Y\)の3個の組み合わせに依存する。なぜならば、極座標を導入すると
\begin{align}
(X_0,Y_0) &= (r_0 \cos\theta_0, r_0 \sin\theta_0)\\
(X,Y) &= (r \cos\theta, r \sin\theta)
\end{align}
と表示すると、\( \Phi\)は\(r, r_0, \theta, \theta_0\)の関数として見做すことができる。ここでさらに式変形を行うと\(r, r_0, \theta, \theta_0-\theta \)の関数としてもよい(三角関数の加法定理を思い出すといい)。
さらに今回の光学系は回転対称を考えている。つまり、回転角\( \theta\)に対して\(\Phi\)は影響しない。よって\(r, r_0, \theta_0-\theta \)の関数となる。
回転対称な光学系ということについて
光学系が回転対称というのは自明ではない。しかしながら、ここでは回転対称としている。
これについて考察してみた。理論的な理由と、現実的な理由の2つが思いつく。自分は理論的な理由が最も大きいと考えている。
- 理論的な理由:解析の出発点とするため
収差論は、まず「理想的なレンズ」とは何かを定義し、そこからのズレとして収差を考える。この「理想的なレンズ」の最も基本的で扱いやすいモデルが、光軸に対して完全に回転対称な光学系であるから。もし最初から非対称な系を考えると、変数が多すぎて非常に複雑になり、収差を体系的に分類することが困難となる。
つまり、解析のための「基準」あるいは「土台」として、回転対称性を仮定している。 - 現実的な理由:世の中にあるレンズの多さ
多くのレンズ、特にカメラや望遠鏡、顕微鏡などで使われるレンズは、意図的に回転対称になるように設計・製造されるから。一般にガラスレンズは、材料を回転させながら研磨して作られる。この製法上、球面や(回転対称な)非球面といった、回転対称な形状を作るのが最も得意で、精度も出しやすくなる。(反例: 非球面レンズなど)
ここで\(r, r_0, \theta_0-\theta \)を物理的な意味を踏まえてさらにまとめると
- \(\mathbm{r}^2 = r^2 = X^2 + Y^2\)
- 原点(光軸)から射出瞳の点\(Q_0\)(\(X,Y\))までの距離の2乗。これは光線が瞳のどの高さ(半径位置)を通過するかに相当する。
- \(\vec{r_0}^2 = r_0^2 = X_0^2 + Y_0^2\)
- 原点(光軸)から物点\(P_0\)(\(X_0,Y_0\))までの距離の2乗。これは物体の高さに相当します。
- \( \vec{r} \cdot \vec{r_0} = rr_0\cos(\theta_0-\theta) = X_0X+Y_0Y \)
- これはベクトル(\(X_0,Y_0\))と(\(X,Y\))の内積。これは物体点の方向と、光線が通る瞳の方向の、相対的な関係を示している。
ここで話を戻して、\(\Phi\)のべき級数展開を考えると、上記で示すように回転対称性がある。回転対称性条件下では任意の関数\(f(x)\)について\(f(x) = f(-x)\)を満たす必要があるので\(f(x)\)は偶関数である必要がある。よって、べき級数展開時も\(\Phi\)は偶関数で表されなければいけないので
\begin{equation}
\Phi = \sum_k \Phi^{(2k)}
\end{equation}
ここで\(k=0\)のとき、当たり前ではあるが\( \Phi(0,0;0,0) = 0\)となるため、存在しないことがわかる。
\( k=1\)のとき、係数を\(a,b,c\)として
\begin{equation}
\Phi^{(2)} = a\vec{r_0} + b\vec{r} + c\vec{r} \cdot \vec{r_0}
\end{equation}
となるが、\( r_0^2 \)以降の項は光線収差との関係を考えると矛盾するため\( r_0^2 \)だけが残る。(詳細は次の記事で記載)
よって、波面収差をより丁寧に書くと
\begin{equation}
\Phi = c(X_0^2+Y_0^2) + \Phi^{(4)} + \Phi^{(6)} + \cdots
\end{equation}
と書ける。ここで\(c\)は定数である。特に最低次(2k=4)の収差をもってSeidel収差と呼ぶ。
修正録
2025/8/27, 極座標系の表記をベクトル表記に書き直し



コメント