SSブログ

Bezier曲線によるレンズ形状近似 - その6 [レンズ形状をBezierで描く]

ビットマップしかないZEMAXのレンズ形状出力のかわりに、Bezier曲線で滑らかに美しくPress Qualityでレンズ系の断面形状を描きたい、ということで始めた3次Bezier曲線による球面と非球面の近似。さくっとできてしまったので、結果をまとめておしまいにする。結果はかなり満足のいくものになった。

3.2  TESSARのBezier曲線への変換

このファイルを読んでNSViewのサブクラス上に表示させてPDFで書き出したのがこれ。
0528fig3.png
ついでに光線も描いてみた(射出瞳位置がZEMAXファイルから計算できなかったので軸上光線のみ)。データにある硝材が古いのか、手に入るカタログデータ(Schott、Ohara、Hoya、Sumita)にないので、近い硝材に置き換えた。微妙に像点が手前に来ているように見えるのはそのせいかもしれない。

当然拡大してもベクタデータなので当然、次の図のように問題ない。ちなみに、レンズは空気でない硝材を挟む面をレンズの前後の面とみなした。ついでにレンズの内部と思われるところに色をつけてみた。ZEMAXのビットマップに対してPhotoshopでこんな細工をしようとすると、すごくめんどくさいけど、これならIllustratorに読み込んでレンズを選択してスウォッチでもぽちっとするだけでできる。やっぱりこうでなきゃあ、ねぇ。

ところで、この図で色がつかなくて線だけになってるのがあるけど、これは絞り面。
0528fig4.png
Illustratorに読み込んで、レンズ面を選択してコントロールポイントのハンドルを表示させたところがこれ。
0528fig5.png
レンズ面の中央(光軸上)と端以外に点はないことがわかる。つまりこれでひとつのBezier曲線であるということの証明である。前回描いたZEMAXの出力と比べてみてほしい。

3.3  非球面の表示

もうひとつ、非球面を表示させてみる。

ZEMAXで適当に作った単玉の両面非球面レンズのレンズ外形表示がこれ。
0528fig6.png
ちなみにベキは4〜10次の偶数次(ZEMAXのEven Aspherical)。こういうレンズを見慣れている人には第1面が球面よりもわずかに開いているのがわかると思う。

同じように読み込んでみて、Bezierで書いてみたのがこっち。
0528fig7.png
一応雰囲気は出てる。面の有効径とは別にレンズ外形を与えると、球面の場合は外形まで円弧を延長して、2次曲面を含めた非球面は、成形レンズを想定して有効径から外形までの部分は平面(直線)でつなぐようにした。こうすると(磨きではこんな形にならないので)いかにも成形レンズっぽく見える。

これも同じようにIllustratorで開いてコントロールポイントを出してみると次のようになる。
0528fig8.png
やはり光軸と端にしかコントロールポイントはない(そうしたんだもんな)。

もとのZEMAXの出力の上に重ねてみたのがこれ。
0628fig9.png
図中薄くて太いグレーの線がBezier近似非球面の線。この程度の精度では区別つかないぐらいで、全然問題ない。

3.4  どの程度の近似になっているのか

非球面は10次のベキがくっついているけど、OS Xで使えるbezier曲線は3次なので全然次数が足りない。では、どのくらいの近似になっているのか、というのを確かめてみる。

一般の場合の誤差評価するのは簡単ではない、というか次数が全然違うのでベキをいじれば今回の近似の条件を満たしていたとしても、いくらでも誤差を大きくできる。

しかし、レンズとして普通に使われるような非球面は、変曲点が光軸からマージナルに向かう途中にせいぜいひとつあるぐらいで、回折限界のレンズの面や撮像用レンズの絞り付近の面などはゆったりと曲率が減っていくような面になることが多い。そう考えると光学的にはデタラメだとはいえ、Bezier曲線でもかなりのいい近似になるのではないかと思える。

具体的にさっきの非球面レンズの第1面で、もとの非球面と近似Bezier曲線との差を調べてみる。

Bezier曲線は媒介変数表示されているので比較は簡単ではないけど、近似曲線を
0605eq41.png
として
0605eq42.png
をtに関して解いてt(y)としてそれをPx(t)に代入すると
0605eq43.png
となってこれと非球面式との差を見てみる。

まずどんな形かというと
0605fig10.png
同じ場所に書くと重なってしまうので、ちょっとずらした。青い線の方がBezier近似曲線。

この同じ光軸高さの位置での光軸方向の差をプロットすると
0605fig11.png
となって、半径2.2mm、深さが約0.7mmの面で最大1μmとちょっとの差しかないということがわかる。3次のスプラインで補間したときのエラーで良く見る形と同じだけど、それは近似条件を考えれば当然である。

おほほほほ。いいじゃん、これでZEMAXのジャギーな出力とはおさらばできる。目的は十分果たせる。

nice!(0)  コメント(0)  トラックバック(0) 

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。