突然レンズ設計に目覚めてしまいました。ここ最近のマイブームで、四六時中ずっとレンズ設計のことを考えています。そもそもの動機が、シュミカセでコマ収差が盛大に出ていたのを、コマコレクターである程度軽減できることがわかったのですが、じゃあそもそもコマコレクター ってなんですか?というところから来ています。
上の写真は手持ちのコマコレクター、バーダープラネタリウムのMPCC MarkIIIです。結構歪んで見えるので非球面レンズなのでしょうか?でも値段からいったら単純なレンズの組み合わせな気がします。説明書にはF4からF6まで対応すると書いてあるのですが、実際にコマ補正したい鏡筒はMEADEのLX-200の口径25cm、焦点距離1600mm、F6.3のものなので、少しだけ範囲から外れてしまいます。以前一度試しにつけてみたのですが、そこそこ効果があることはわかっています。
でもこのコマコレクターでこと足りるのか?最適な位置やバックフォーカスはどこなのか?もっといいコマコレクター はできないのか?と疑問は尽きず、気づいたらじゃあそもそもシュミカセってどんなものなの?という疑問に行き着きました。これを確かめるにはある程度シュミカセの設計自体を理解しなくてはダメです。
と言うわけで、前置きが長くなりましたがレンズ設計の挑戦の始まりです。どこまで続くことやら。
レンズ設計に関しては先人の理論、設計、ソフトウェアや検証など、多くの蓄積があります。まずはシュミカセに行く前に、レンズ設計ソフトを触ってみることにしました。あぷらなーとさんやHIROPONさんがブログの中で試していらっしゃるので、それを捕捉する形で書いて行きたいと思います。ソフトはその中でオススメの「LensCal」です。製作者は京都の「星を求めて」でお会いすることができたラッキーイメージを得意とするYamashitaさんとのことです。Yamashitaさん、こんな素晴らしいソフトをフリーで提供していただいて、ありがとうございます。
とすぐにでもソフトに手を出したいのですが、ここではあぷらなーとさんが試したように、基準となる拠り所が欲しくて、まずはハルチング(今はハーティングと言うべきなのでしょうか)の公式に手を出してみました。
ハルチングの解とは、フランフォーフェル型と言う凸レンズと凹レンズの組み合わせにおいて、C線(656.27nmのHα)の焦点とF線(486.13nmのHβ)の焦点を一致させ、d線(587.56nmの黄)に対して球面収差とコマが最小になるような設計とのことです。2枚の設計したいレンズの上の3つの波長での屈折率を与えてやって、16個の連立方程式を解くと目的のレンズの曲率半径が求められるものです。
ネットを漁るとこのページにたどり着いて、ここから辿っていくとエクセルの表を手に入れることができます。ただ、これだけだと何をやっているかわからないので、式が書いてある掲示板を参照してみてください。私は吉田正太郎著「天文アマチュアのための望遠鏡光学〈屈折編〉」という本で式と概念をフォローしましたが、他の書籍でも同様の記述は見つかると思います。本の方では多少詳しい説明がありますが、連立方程式の導出から書いてあるわけではないので、結局は天下り的にこの連立方程式を解くだけです。リンク先で手に入るエクセルの表のパラメータも解も、上記書籍のパラメータ及び解と全く同じだったので、少なくとも表に特に変な間違がないことがわかるので安心できます。
この時のパラメータが最初のレンズをBK7、2枚目をF2で作るとして
BK7:
nC = 1.51385
nd = 1.516330
nF = 1.521900
F2:
nC = 1.615020
nd = 1.620041
nF = 1.632120
となっていて、最初のレンズの厚さが0.65mm、レンズ間距離が0.02mm、2枚目のレンズの厚さが0.45mmとするとします。
その時のハルチング公式からのそれぞれの曲率半径の解が
r1 = +60.572mm
r2 = -35.620mm
r3 = -36.041mm
r4 = -147.961mm
となるのは、上記書籍も、表計算の値も同じです。
さて、ハルチング解がある程度理解できたところで、やっとLensCalに移ります。ダウンロードインストールなどはマニュアルの通りです。Example of glass dataは必須ですし、Data.zipも落としておいた方がいいでしょう。ヘルプファイルは絶対あったほうがいいです。
一つ注意点は、ものすごく重要なヘルプファイルがWindow10だと中身を見ることができません。ヘルプファイル自身はダウンロードしてファイルをダブルクリックするだけでいいのですが、LensCalの掲示板にあるように
とあるので、これに従うと無事にWindow10でもヘルプファイルの中身がきちんと見えるようになります。
基本的にはこのヘルプファイルの「簡単な使い方」のその1からその3までを丁寧に試していけばあるていどのことは学べてしまいます。ここで注意することは、ヘルプファイルの説明が少し添付データと違っていることです。2枚目のレンズのF2が「Sumita」から選ぶように書いてあるのですが、実際には「Schott」の方に入っています。しかもSchottのデーターも、Example of glass dataでダウンロードしたGlassData.zipを解凍して、出てきたファイルをLensCal.exeと同じフォルダに入れておかなければ、ガラスデータとして選択することができません(マニュアルにこのことは書かれています)。私が迷ったのは上記2点くらいで、他は全て問題なく、非常にわかりやすく扱いやすいソフトでした。
ヘルプに沿っていけば、「ベンディング」というらしいのですが、ある2つのパラメータを自由にして、収差を最小にするようなチューニングのようなこともできてしまいます。最適解を数値計算的に求めることもできるようです。ただ、最適解の場合は条件出しに少し癖があるようで、例えば波長の効き具合とかに、あまり効かせたくないと思って0を入れたりするとエラーが表示されて、立ち上げ直すまで2度と計算できなくなってしまったりします。そんなときは0.01とか小さな数を入れてやることで回避しています。
上記写真は最適解とベンディングを駆使して求めた曲率ですが(距離は固定)、ガラスの屈折率にごくわずか違いがあることや、最適化の条件の調整が難しいこと、ベンディングの調整の誤差もあることなどから、ハルチングの解析解と少し違った値になっています。それでもまあ、かなりいいところまで最適化できていると言っていいでしょう。ここで気付いたのは、ハルチング公式の条件の一つの「C線(656.27nmのHα)の焦点とF線(486.13nmのHβ)の焦点を一致させ」というのは、シミュレーションでは球面収差を見ながら「有効径の外の方で合わせる」というのが解に近いみたいです。最初中心で焦点を合わせていたら、どうしても解析解とずれてしまいました。でも外側で合わせるというので本当に正しいのでしょうか?ここは謎が残ったままです。
さて、LensCalには20cm F10のシュミカセのサンプルファイルも添付されています。でもこのサンプルファイルにあるシュミット補正板の係数の値が本当に正しいかどうか、いまいち確信が持てません。シュミット補正板については同じ吉田正太郎著「天文アマチュアのための望遠鏡光学・反射編」にある程度書いてあるのですが、これも式の導出までは記述がないので、出ている式を天下り的に使うしかないのですが、どうもサンプルファイルの補正板の曲線の係数と全然一致しません。
もう一本Opt-Design 2000というソフトでも試していて、こちらもLensCalとある程度似たようなことができ、さらにこちらにも20cm F10のシュミカセのサンプルファイルが添付されています。でもこの補正板の係数の値もまた全然違います。
球面収差図を見ていると、原理から言って補正板の中性帯(曲率の正負が逆転する中間地点で、ここを入射する光は補正板の影響を受けない)を通るところで収差がなくなるはずで、LensCalの方はそれを再現しているようにも見えるので、LensCalの値が正しいように思えます。でもじゃあどうやってこの補正板の値を出したのかなど、まだ謎だらけです。
とりあえず、今やっとここら辺です。
上の写真は手持ちのコマコレクター、バーダープラネタリウムのMPCC MarkIIIです。結構歪んで見えるので非球面レンズなのでしょうか?でも値段からいったら単純なレンズの組み合わせな気がします。説明書にはF4からF6まで対応すると書いてあるのですが、実際にコマ補正したい鏡筒はMEADEのLX-200の口径25cm、焦点距離1600mm、F6.3のものなので、少しだけ範囲から外れてしまいます。以前一度試しにつけてみたのですが、そこそこ効果があることはわかっています。
でもこのコマコレクターでこと足りるのか?最適な位置やバックフォーカスはどこなのか?もっといいコマコレクター はできないのか?と疑問は尽きず、気づいたらじゃあそもそもシュミカセってどんなものなの?という疑問に行き着きました。これを確かめるにはある程度シュミカセの設計自体を理解しなくてはダメです。
と言うわけで、前置きが長くなりましたがレンズ設計の挑戦の始まりです。どこまで続くことやら。
レンズ設計に関しては先人の理論、設計、ソフトウェアや検証など、多くの蓄積があります。まずはシュミカセに行く前に、レンズ設計ソフトを触ってみることにしました。あぷらなーとさんやHIROPONさんがブログの中で試していらっしゃるので、それを捕捉する形で書いて行きたいと思います。ソフトはその中でオススメの「LensCal」です。製作者は京都の「星を求めて」でお会いすることができたラッキーイメージを得意とするYamashitaさんとのことです。Yamashitaさん、こんな素晴らしいソフトをフリーで提供していただいて、ありがとうございます。
とすぐにでもソフトに手を出したいのですが、ここではあぷらなーとさんが試したように、基準となる拠り所が欲しくて、まずはハルチング(今はハーティングと言うべきなのでしょうか)の公式に手を出してみました。
ハルチングの解とは、フランフォーフェル型と言う凸レンズと凹レンズの組み合わせにおいて、C線(656.27nmのHα)の焦点とF線(486.13nmのHβ)の焦点を一致させ、d線(587.56nmの黄)に対して球面収差とコマが最小になるような設計とのことです。2枚の設計したいレンズの上の3つの波長での屈折率を与えてやって、16個の連立方程式を解くと目的のレンズの曲率半径が求められるものです。
ネットを漁るとこのページにたどり着いて、ここから辿っていくとエクセルの表を手に入れることができます。ただ、これだけだと何をやっているかわからないので、式が書いてある掲示板を参照してみてください。私は吉田正太郎著「天文アマチュアのための望遠鏡光学〈屈折編〉」という本で式と概念をフォローしましたが、他の書籍でも同様の記述は見つかると思います。本の方では多少詳しい説明がありますが、連立方程式の導出から書いてあるわけではないので、結局は天下り的にこの連立方程式を解くだけです。リンク先で手に入るエクセルの表のパラメータも解も、上記書籍のパラメータ及び解と全く同じだったので、少なくとも表に特に変な間違がないことがわかるので安心できます。
この時のパラメータが最初のレンズをBK7、2枚目をF2で作るとして
BK7:
nC = 1.51385
nd = 1.516330
nF = 1.521900
F2:
nC = 1.615020
nd = 1.620041
nF = 1.632120
となっていて、最初のレンズの厚さが0.65mm、レンズ間距離が0.02mm、2枚目のレンズの厚さが0.45mmとするとします。
その時のハルチング公式からのそれぞれの曲率半径の解が
r1 = +60.572mm
r2 = -35.620mm
r3 = -36.041mm
r4 = -147.961mm
となるのは、上記書籍も、表計算の値も同じです。
さて、ハルチング解がある程度理解できたところで、やっとLensCalに移ります。ダウンロードインストールなどはマニュアルの通りです。Example of glass dataは必須ですし、Data.zipも落としておいた方がいいでしょう。ヘルプファイルは絶対あったほうがいいです。
一つ注意点は、ものすごく重要なヘルプファイルがWindow10だと中身を見ることができません。ヘルプファイル自身はダウンロードしてファイルをダブルクリックするだけでいいのですが、LensCalの掲示板にあるように
1.LensCal.chmを右クリックしてプロパティを開き、
2.いちばん下の「ブロックの解除」のボタン又はチェックボックスに印を入れてOKを押す
と読めるようになるようです。
とあるので、これに従うと無事にWindow10でもヘルプファイルの中身がきちんと見えるようになります。
基本的にはこのヘルプファイルの「簡単な使い方」のその1からその3までを丁寧に試していけばあるていどのことは学べてしまいます。ここで注意することは、ヘルプファイルの説明が少し添付データと違っていることです。2枚目のレンズのF2が「Sumita」から選ぶように書いてあるのですが、実際には「Schott」の方に入っています。しかもSchottのデーターも、Example of glass dataでダウンロードしたGlassData.zipを解凍して、出てきたファイルをLensCal.exeと同じフォルダに入れておかなければ、ガラスデータとして選択することができません(マニュアルにこのことは書かれています)。私が迷ったのは上記2点くらいで、他は全て問題なく、非常にわかりやすく扱いやすいソフトでした。
ヘルプに沿っていけば、「ベンディング」というらしいのですが、ある2つのパラメータを自由にして、収差を最小にするようなチューニングのようなこともできてしまいます。最適解を数値計算的に求めることもできるようです。ただ、最適解の場合は条件出しに少し癖があるようで、例えば波長の効き具合とかに、あまり効かせたくないと思って0を入れたりするとエラーが表示されて、立ち上げ直すまで2度と計算できなくなってしまったりします。そんなときは0.01とか小さな数を入れてやることで回避しています。
上記写真は最適解とベンディングを駆使して求めた曲率ですが(距離は固定)、ガラスの屈折率にごくわずか違いがあることや、最適化の条件の調整が難しいこと、ベンディングの調整の誤差もあることなどから、ハルチングの解析解と少し違った値になっています。それでもまあ、かなりいいところまで最適化できていると言っていいでしょう。ここで気付いたのは、ハルチング公式の条件の一つの「C線(656.27nmのHα)の焦点とF線(486.13nmのHβ)の焦点を一致させ」というのは、シミュレーションでは球面収差を見ながら「有効径の外の方で合わせる」というのが解に近いみたいです。最初中心で焦点を合わせていたら、どうしても解析解とずれてしまいました。でも外側で合わせるというので本当に正しいのでしょうか?ここは謎が残ったままです。
さて、LensCalには20cm F10のシュミカセのサンプルファイルも添付されています。でもこのサンプルファイルにあるシュミット補正板の係数の値が本当に正しいかどうか、いまいち確信が持てません。シュミット補正板については同じ吉田正太郎著「天文アマチュアのための望遠鏡光学・反射編」にある程度書いてあるのですが、これも式の導出までは記述がないので、出ている式を天下り的に使うしかないのですが、どうもサンプルファイルの補正板の曲線の係数と全然一致しません。
もう一本Opt-Design 2000というソフトでも試していて、こちらもLensCalとある程度似たようなことができ、さらにこちらにも20cm F10のシュミカセのサンプルファイルが添付されています。でもこの補正板の係数の値もまた全然違います。
球面収差図を見ていると、原理から言って補正板の中性帯(曲率の正負が逆転する中間地点で、ここを入射する光は補正板の影響を受けない)を通るところで収差がなくなるはずで、LensCalの方はそれを再現しているようにも見えるので、LensCalの値が正しいように思えます。でもじゃあどうやってこの補正板の値を出したのかなど、まだ謎だらけです。
とりあえず、今やっとここら辺です。
コメント
コメント一覧 (6)
また凄い方向に行ってますね。
レンズ設計ソフトもあるとは。
吉田正太郎先生の本は、中学生の頃に読みましたが、
sinもcosも習っていなかったのでちんぷんかんぷん?でした。
天文趣味を本格的に始めた頃で、当時は将来、光学設計技師になりたかったのですが、高校の物理ができなさすぎて挫折しました・・・
せろおさん、おはようございます。
最初は必要にかられてに近かったのですが、レンズ設計単体ですごく面白いことに気づいてしまいました。シュミット補正版の記述が日本語だと限られるようで、海外文献だとはるかに詳しいことがわかってきました。計算までうまく行ったらまた記事にまとめます。
ちなみに私は中学高校時代に吉田正太郎先生の「天文アマチュアのための望遠鏡光学」で基礎をかじって関数電卓で計算遊び、大学生時代には天文ガイドから販売されてた「テレオプト」で連日シミュレーションごっこに熱中してました。
今はもう『センス』(どの面をどうベンディングすればどの収差がどう変わるかの直感)は失われてますが(泣)
やはりあぷらなーとさん反応が早い。あぷらなーとさんのブログにも触発されました。レンズ設計かなり楽しいですね。
今シュミカセに手こずっています。シュミットカメラとシュミットカセグレンでは思ったより差があることくらいはわかってきましたが、まだいろいろ計算が合いません。吉田正太郎先生の本も概念を掴むのはものすごく勉強になりますが、やはりアマチュアのためのと謳っているように、難しい式はある程度省いているようです。
とりあえず今の目標はLensCalにあるシュミカセの補正板の係数を自分で求めることです。シュミカセの方が設計の自由度があるみたいなので大変そうです。
何せ10年近く前のソフトなのでヘルプもXp時代の10年前のままで、Windows7以上用にとりあえず移植しただけのものになっていてすみません。
非球面について、ベンディングのようにリアルタイムで変化を表示するとか最適化のパラメータとして使用できるようにするとか、もう少し使いやすくすればよかったのですが、当時の掲示板でもそのあたりの反応がなかったもので・・・。
基本的にはこのソフトはサンプルファイルの中にある15cmF5 4枚玉を設計するために作成したもので、せっかくだから公開しよう、他の人が使うのにあったら便利な機能としてベンディングや波動光学的像面図などを入れよう、としたものです。要望に応えて少しずつできることを増やしていった程度で、自分ではその他の光学系はほとんど設計したことはないのです。
今はDelphiもうまく動く状態ではなく何もできないのですが、4月になってもし暇になればもう少しバグ取りなど改良したいと思います。
それまでに他のバグ報告とかよろしくお願いします。
Yamashitaさん、こちらの方でもコメントありがとうございます。やはり何か目的があって開発が進むものなのですね。勉強になります。
これまで気付いたバグは、
1. 最適化のところで波長のところに元々入っている、0以外の数値を0にして最適化を実行すると「0による浮動小数点除算」が出ること、
2. 球面収差図などでスケールのところにあらわに数値を入力すると読み込み違反のエラーが出ること、ただしその後スケールのボタンの方を押すと再び入力された数値でグラフは表示されます。
くらいです。また使い込んでいくといろいろ気づくと思うので、まとめて報告したいと思います。
私みたいなレンズ設計に興味を持ち出した人には、ものすごく貴重なソフトだと思います。維持していただけるととてもありがたいですが、お忙しいでしょうからあまり無理はしないでください。今でも十分に使うことができます。素晴らしいソフト本当にありがとうございます。