こんにちは。お久しぶりです。みなさまいかがお過ごしですか?
前回の更新からひと夏が過ぎ去ってしまいました。すみません・・・
最近、近所の家電量販店でカメラを買いました。実際に写真を撮ってみると、少し世界が変わったような気がします。カメラを持つまでは気にも留めなかったモノや風景が無意識に飛び込んでくるようになりました。そして、ある1点にピントを合わせ、意図的に周囲をぼかすことにより撮りたいモノ、見せたいモノを強調するという撮り方もあることを知りました。いや〜、奥が深くて難しいですね。
さて、今回でとうとう最終回です。
前回のSTEP6:CODE Vに再挑戦!で先輩からもらった仕様書を満たすレンズを設計します。
うまく設計できるかどうか不安ですが、頑張ってやってみます。
また最終章では、この「新入社員の独り言」を執筆するなかで、自分が勉強したものからピックアップして、「おまけ」として簡単にまとめてみました。
基礎的な内容ですが、みなさまの復習などにご利用ください。でも、厳密な解釈に関してはお手元の参考書をご参照ください。
35mmカメラ用交換レンズの設計 仕様
|
S君:この仕様書を解釈すると、次のようになります。
仕様書の通りに描くと・・・
収差補正の目標は・・・
閑話休題 「仕様」の図のように、焦点距離よりも全長が短いレンズ系は、○○タイプと呼ばれています。物体側に○○レンズ、像側に○○レンズを配置されているのが特徴です。 さて、「○○」には何が入るでしょう?同じ文字ではないですよ。 |
Fナンバー:1〜3.5 (仕様書の条件より明るい)
レンズエレメント数:1〜3枚
先輩: | 初期光学系を選ぶ際に、「Fナンバー」と「エレメント数」でフィルタをかけたようですが、これらに加えて、「画角」や「全長(像距離あり)/EFL」などを条件に入れるのも良いかもしれませんね。 |
先輩: | 最適化を用いて「仕様の変更」を行うのは、あまり良い方法ではないかもしれません。元のレンズデータは一応特許データなので、それなりに考えられたパワー配置になっていると思われます。CODE Vの最適化では、そんなことはお構い無しにパワー配置を変更してしまいます。後から気づいたので申し訳なかったですが、単純な”スケーリング”の方が良かったかもしれません... |
現在の収差状況
S君: | た、たくさん収差が残っていますね・・・ 球面収差は、「フルコレクション」ではないですし、非点収差も残っています。ディストーションも2.5%程度あります。この状態から仕様書の収差条件を満たすようにレンズパラメータを変えていかなければならないのですか・・・ |
先輩: | 設計の初期段階では、縦収差図によって特徴を確認しながら収差補正の方針を検討するというのは良いです。 縦収差曲線(FIE)オプションで、「フォーカスが0になるよう像面湾曲をシフト」にチェック”zfo y”を入れていませんか? ここにチェックが入っていると、あたかも近軸像面での評価が行われているように錯覚することがあるので要注意です。また、球面収差図が一波長しか描かれていないのは何故でしょうか?軸上色収差の様子が分かりません。 今回の設計では、単純に結像性能を良くする(=収差を小さくする=スポットを小さくする)というのとは、ちょっと違って、収差をコントロールする術を学んで欲しいと考えています。ソフトフォーカスレンズの設計などでは、球面収差を故意に発生させるということも行われています。 |
S君: | は、はい。これからは使用している全ての波長に対して収差図を出力します。 初めなので基準となる波長だけを出力しました。すみません。 |
先輩: | 初期光学系の設定を行った段階で、近軸解として「近軸像面」を指定、像面の面間隔はゼロに固定しておきましょう。そして、再度最適化を実行してみてください。どうなりますかね・・・ |
S君: | あっ!レンズ枚数を増やさなくても上手く行きました!ありがとうございます! ところで、この近軸像面ってどういう意味があるのですか? |
先輩: | 近軸像面とは、文字通り近軸光学的に求めた像面位置です。光軸近傍の光線を追跡して得られる像面位置です。そのため、入射瞳を通過する全ての光線を追跡し、最も良い集光位置を像面とした最良像面位置とは若干異なります。 「近軸像面」解を指定することにより、近軸像面が性能評価面として設定されます。この近軸像面指定を行わずに最適化を実行した場合、収差の基準となる近軸像面と性能評価基準である面とがずれてしまう、ということが起こります。今回のS君が与えた「最も外側を通過する軸上光線が、像面上で光軸と交わるよう」に与えた制約条件は、「最良像面位置において光軸と交わるように」設定しているのであって、「近軸像面上で光軸と交わるように」設定したのではありません。そのため。何回最適化を実行しても、フルコレクションとはならなかったのです。次の図のような状態だったのです。 |
S君: | なるほど・・・自分が制約条件として指定した面が、収差を計算する基準となる面と異なっていたんですね。 |
先輩: | 今回のレンズの仕様は、あまり画角が大きくないので、ディストーションの補正はそれほど大変ではない筈なのですけどねぇ・・・どういうコンストレインツを与えていますか?闇雲に自動設計を繰り返してもうまくいかないようになっています。補正すべき収差に対してコンストレインツを適切に設定する必要があります。性能は二の次です(今回はね)。 |
S君: | せ、先輩。どうでしょうか?何とかぎりぎり仕様をクリアしていると思います。非点収差が少し怪しいですが・・・ 自動設計実行時に設定するコンストレインツや、各画角に対する評価関数の重みをつけたりして、試行錯誤の末ここまでたどり着きました。収差図を見ながら自動設計をし、自動設計を走らせては収差図を確認し・・・の繰り返しでとても疲れました。ある性能が仕様を満たすと別の性能が仕様から離れる、改善しようと自動設計を実行すると逆に改悪になってしまうことが多く、森の中で迷っている気がしました。 慣れてくると、見通しよく設計が出来るものなのでしょうか・・・ |
先輩: | ほほぅ・・・エッジ厚が極めて薄い・・・などの問題はとりあえずおいておきましょうか。 収差図の横軸のスケールが大きすぎて、軸上色収差の様子がよく分かりません。設計中の性能の変遷を見る場合には、同じスケールでの比較が分かりやすいですが、最終設計値の性能評価はもっと小さなスケールの方が収差の状況を確認しやすいでしょう。 「ある性能が仕様を満たすと別の性能が仕様から離れる」というのは、まさにレンズ設計の大変さを言い得て妙です。ある収差を補正しようとすると、どうしても他の収差に影響を与えます。この各収差のバランスをどう取るかが設計者の腕の見せ所となるわけです。最適化アルゴリズムによる自動設計で上手く行かない場合、どこに原因があるのか?そういったことを見つける際には、近軸論や収差論を知っているといないとでは、大きな差が出てくるのです。 |
S君: | 今回、初めてレンズ設計をやってみました。これが、「設計」と呼べるレベルかどうかは疑問ですが、ほんの少しかじってみただけでもレンズ設計の難しさを垣間見ることが出来た気がします。先輩から与えられた仕様は、とても初歩的なレベルだと思いますが、その仕様を満たすレンズを設計することでさえ、自分にはかなり困難を伴いました。振り返ってみると、全て自分で選択、判断、決定しなければならないからかもしれません。CODE Vが持っている特許切れデータだけでも2400あります。言い換えると、スタート地点が2400もあります。更に自分で選んだデータをどのように変更していくかという道筋は無数にあります。途中、何をどうすれば正しいのかが分からなくなりました。目の前には進むことの出来る道が無数にあるのですが、自分が自信を持って進める道は全く無かったように思います。はぁ〜、レンズを設計するって、難しいですね〜。 ちなみに、絞りの位置を変えて全く同じように自動設計を行っても、下図のように異なる収差性能を持つ光学系となってしまいます。ひょっとして、こちらの方が良い収差状態なのでしょうか・・・ |
先輩: | こちらも、スケールが大きすぎてよく分かりません。もっとスケールを小さく(収差を拡大して観察)してみましょう。 絞りの位置を変えると、球面収差は変化せずに他の収差が変化します。この辺りのことは、収差論を学べば分かります。上のS君の設計でも、球面収差は殆ど変わらず、非点収差が改善したようですね(スケールが大きくてはっきりしませんが・・・)。 CODE Vは、非常に強力な最適化機能を持っています。このおかげで、設計者があまり考えることをしなくても、ある程度の設計は出来るようになっています。しかしながら、機械に頼ってばかりいると、人間本来の力はどんどん衰えていくのです・・・ |
S君: | 先輩、分かりました! 引き続き光学、収差論の勉強をしつつCODE Vに使われないようにCODE Vを使っていこうと思います。いろいろありがとうございました。 |