設計者コラム
#064 ビネッティングと単一光線追跡(z2o)
光学系の設計時や評価時には特定の光線が、ある面でどのような高さになっているかを調べる場面がよくあります。
Zemaxの場合にはメニューから、『解析⇒光線とスポット⇒単一光線追跡』機能を使うと、その光線がレンズ各面をよぎる高さや角度などがテキストウインドウに表示されます。
OpTaliXではrsiコマンドで同様の計算が可能です。
またZemaxにしろOpTaliXにしろ画角や瞳座標は実際の値を使う代わりに最大像高を1に、瞳座標を±1に正規化した値を使います。
Zemaxの場合には指定画角の光線群に対して、実際に上下ギリギリを通過する光線に対して上記の相対瞳座標を±1に割り付けます。
なので蹴られが有る・無いを意識せずに相対瞳座標が使えます。
(下図参照)
一方でOpTaliXは蹴られが有ろうが、無いことを前提として相対瞳座標の割り付けを行うようです。
イメージ的には下図のような扱いです。
ですからある画角の光線群のうち、例えば上側マージナル光線の特定の面をよぎる座標を求めようとした場合、実際には存在しない光線を基に座標計算をしてしまいます。
図をご覧いただければ明らかだと思います。
これは最初面喰いました。
『え?ここ、光線通ってないんだけど…』
という感じです。
これに関してはZemaxの方が素直で使いやすいですね。
じゃあOpTaliXでどうするか、ですがset vigコマンドをまず使います。
set vigコマンドはビネッティングの様子を数値化して表示するものですが、例えば指定画角の上側マージナル光線のビネッティングを見たい場合、出てきたVUYの値を観ます。
Vignetting Upper Yの略だと思います。
下側マージナル光線のビネッティングを観たい場合はVLYです。
このVUY値は相対瞳座標0~1の範囲で絞りや瞳に蹴られがない状態の上光線側からのビネッティング量を示しています。
ですから実際の上側マージナル光線は相対瞳座標上、(1 - VUY)の所にあるわけです。
これが分かったら、
rsi f4 w1 z1 ss 0 V
などと入力すれば指定した面のビネッティング後の実際の上側マージナル光線座標などが出力されます。
ここで、V = (1 - VUY)です。
どうもこれはOpTaliXの互換性からくるCodeV由来の『仕様』のようです。
CodeVユーザから聞きました。
いや~、一々面倒くさい。