光学設計コンテスト(CODC)/ Oさん. Step2自動分割でパワー配置決め

“レンズのパワーをもとにして、1枚のレンズを2枚にすることができる”

このことを前回:レンズのパワー計算ひらめきました。

では早速、このレンズ分割を利用して光学系のパワー配置を検討していきます。

CODE Vでパワー配置を考えるとなると、レンズモジュール(MOD)の出番です。
たとえば、焦点距離100のレンズモジュールは以下のようなコマンドでモデリングできます。
LEN NEW
EPD 10
INS S2
PIM
MOD S1; MFL S1 100

このレンズモジュールが両凸レンズだとして、分割してみます。
両凸レンズはパワーを半分にした2枚の平凸レンズにすることができますので、
INS S3..4
THI S2 0
MFL S1 200 !←焦点距離は倍になります
MOD S3; MFL S3 200

分割完了!
2枚の平凸レンズの間隔は0なので、見た目には全然変わりありませんが、、
全系のパワーに変化はありませんので、焦点距離も変化しません。

ただし、集光状態は悪くなっています。

これはレンズモジュールが"物点と像点が共役関係の場合、理想的な集光状態となる"という特性があるからです。

この例だと、モデリングしたレンズモジュールの基本倍率はどちらもほぼゼロ(1e-10)です。
この状態では2枚のレンズとも無限遠からの光を理想的に集光するレンズモジュールとなっています。
そのため、理想的には集光していません。

2番目のレンズモジュールの基本倍率を変更します。
MRD S3 -0.8

これで理想的な集光状態となりました。
この要領で1枚レンズを2枚に分割できます。

これを利用して、、最初は少ない枚数から、、どんどん枚数を増やしていって、、21枚レンズにしたら、、
いい感じのパワー配置が決まる!完璧です。
(↑完璧ではないような・・・)

ここでまず必要となるのが最初のモデルです。
このモデルからレンズを分割して枚数を増やしていきます。
この最初のモデルをとりあえずトリプレットレンズとしました。(←とりあえずで進めて大丈夫?)
トリプレットレンズは平凸、両凹、平凸の3枚構成。
パワー比でいうと、1 : -2 : 1 になります。
これをレンズモジュールでモデリングすると、

LEN NEW
EPD 10; WL 532; YAN 0 5

INS S2..7
MOD S1; MFL S1 50
THI S2 20
MOD S3; MFL S3 -25
THI S4 15
THI S5 5; STO S5
MOD S6; MFL S6 50
PIM

RDC S1 0; RDC S3 0; RDC S6 0 !←基本倍率は最適化で求めます
AUT; GO


次にこれを最適化して、焦点距離を100にします。

THC S2 0; THC S4 0; THC S5 0; THC SI 0
FLC S1 0; FLC S3 0; FLC S6 0

AUT
EFL = 100
!↓レンズモジュールの焦点距離の比を維持するユーザー定義コンストレインツを
@const1 == (MFL S1)-(MFL S3)*(-2)
!↓重み付きコンストレインツで設定します
@const1 = 0; WTC 0.1
@const2 == (MFL S3)*(-2)-(MFL S6)
@const2 = 0; WTC 0.1
GO


このモデルの1枚のレンズモジュールを2枚に分割します。
たとえば、パワー比が1の3番目のレンズモジュールをパワー比が-1のレンズモジュールと2のレンズモジュールに分割すると、

INS S8..9
THI S7 0
MOD S8; MFL S8 1
MFL S8 (MFL S6)/2
MFL S6 (MFL S6)*(-1)

軸外画角の集光状態が悪くなりますが、それ以外はほとんど同じです。
これを最適化すると、

FLC S8 0; RDC S8 0
THC S7 0

AUT
EFL = 100
@const1 == (MFL S1)-(MFL S3)*(-2)
@const1 = 0; WTC 0.1
@const2 == (MFL S3)*(-2)-(MFL S6)*(-1)
@const2 = 0; WTC 0.1
@const3 == (MFL S6)*(-1)-(MFL S8)*2
@const3 = 0; WTC 0.1
GO

パワー比が 1 : -2 : -1 : 2 の4枚レンズでのパワー配置を求めることができます。
この配置だと軸外画角の集光も良いことがわかります。

これを繰り返すと3枚レンズのトリプレットから21枚レンズになる!

さて、問題は"どのレンズを分割していくのか?"ということです。
分割するレンズの組み合わせを変えていって、一番いい感じのパワー配置を探さないといけません。

ただ、この一連の作業を何度も繰り返すのはすごく大変です。

そこで、この作業を自動的に実行するマクロを作成しました。
(気軽にマクロが作れるのがCODE Vのいいところ)

init.seq:最初のトリプレットレンズをモデリング
myaut.seq:パワー比を変えずに最適化
brks.seq:1枚のレンズモジュールを2枚に分割

これらを使用して、以下のような流れをCODE Vに実行させます。
もちろんこれもマクロで。


さてbrks.seqで分割するレンズをどうやって選ぶか?

一番シンプルなのは"考えうる全パターンの分割を試す"ことでしょう。
(↑何も考えてないということですね)

全パターンの中でmyaut.seqで最適化した結果が一番いいもの、それを次にbrks.seqで分割する対象としたいと思います。
これを18回繰り返せば、21枚レンズモデル完成。

AUTの回数はだいたい1000〜2000回になります。
だいたい2〜3時間の計算で21枚レンズモデルが出来上がることになります。
何よりマクロでの自動処理なので、自分はただ待っているだけ。
なーんにもしなくても、21枚レンズで一番いい感じのパワー配置が求められる!
(さて、うまくいくのでしょうか。。)

<< 前へ | 次へ >>

目次

 


お問い合わせ