Cooke Triplet レンズチュートリアル (パート A): 光学応答
イントロダクション
Cooke Triplet は、最も影響力の大きい写真用レンズの一つです。1893 年 に T. Cooke & Sons の H. Dennis Taylor によって特許取得されたこの triplet は、光学工学に新しい概念を導入しました。すなわち、前方および後方の強い正レンズ要素が中央の負メニスカスによって分離された 3 枚構成レンズです。この単純でありながら洗練された構成により、Cooke Triplet は球面収差、コマ、非点収差、像面湾曲、歪曲などを含む広範な光学収差を同時に補正しつつ、小型で製造可能な設計を実現します。1 世紀以上にわたり、Cooke Triplet は多くの写真レンズおよび投影レンズの基礎となってきました。この設計の現代的な派生形は、現在でもズームレンズ、携帯電話用光学系、および小型撮像システムに見られます。 その単純さ、調整可能性、優れた性能の組み合わせにより、光学モデリングの概念を示す理想的なシステムとなっています。
このチュートリアルでは、Cooke Triplet を用いて OghmaNano の光線追跡ツールおよび S-plane editor の主要な機能を説明し、その過程で Cooke Triplet が通過光の光学スペクトルにどのような影響を与えるかを調べます。
Cooke Triplet の読み込み
開始するには、メインウィンドウから New simulation ボタンをクリックします。これにより新規シミュレーションウィンドウが表示されます (??)。 次に Ray tracing アイコンをダブルクリックします。すると光線追跡の サンプルライブラリが開きます (??)。
この一覧で Cooke triplet と表示された項目を見つけて ダブルクリックします。シミュレーションファイルを保存するローカルディスク上のディレクトリを 選択するよう求められるので、適切なフォルダを選択して OK をクリックします。OghmaNano が Cooke Triplet シーンを読み込んで開きます。
読み込み後、メインの Optical Workbench ウィンドウは ?? と同様の表示になります。 中央の 3 つの色付きレンズが Cooke Triplet の要素です: 前方の正レンズ要素(赤)、中央の負レンズ要素(オレンジ)、そして 後方の正レンズ要素(黄)です。左側には光源を表す緑色の平面があり、 右側には像検出器を表すマゼンタ色の平面があります。赤い平坦な物体は、撮像系に入る光量を制御する開口です。この例のこのパートでは完全に開いているため、すべての光が通過でき、したがって無視できます。これは パート C で詳しく説明します。
黒い背景上で 左マウスボタン をクリックしてドラッグすると、 シーンを回転できます。少しの間システムの周囲を回して、 3 枚のレンズと 2 枚の平面が 3D でどのように配置されているかを確認してください。
次に、Device structure タブの左側ツールバーにある S plane ボタンをクリックして、 S-plane editor を開きます (これは ?? にも表示されています)。 これにより、 ?? に示す S-plane テーブルが開きます。
S-plane editor は、3D レンズ群を「面ごと」に見る視点を提供します。 各行のペアは 1 枚のレンズの前面と後面に対応します。 列には、光学材料、レンズタイプ、曲率半径 r0、厚さ、および 直径 が一覧表示されます。 ?? の各色付きレンズを、 ?? の対応する行ペアと照合してみてください。 後でこのテーブル内の値を編集すると、メインウィンドウ内の 3D レンズは それに応じて移動し、形状も変化します。
OghmaNano は完全に 3D ですが、レンズを左右の面の 連続に分解する S-plane 表現を導入することは依然として有用です。この方法は、多くの既存の 光線追跡ツールの動作を反映しており、特に実質的に 1D または 2D であり、 左から右への一方向の光伝搬を仮定して、ユーザー定義の一連の光学面を通過するツールに対応しています。S-plane ビューは実際上きわめて有用です。これにより、 他の光学シミュレータや古典的なレンズ設計文献から面テーブルを直接インポートでき、 歴史的および現代的な光学系の再現と研究が容易になります。また、 完全な 3D 幾何形状操作の手間をかけずに、曲率半径、厚さ、材料、 および開口といったレンズパラメータをコンパクトかつ直感的に編集する方法も提供します。
S-plane は純粋に編集および整理のための構成であることに注意してください。すべての 光線は依然として完全な 3D 空間内で追跡され、得られる光学挙動は 同じ系の明示的な 3D モデルから得られるものと同一です。
シミュレーションの実行
幾何形状に慣れたら、 メインツールバーの Run simulation ボタン(青い三角形)をクリックして 光線追跡シミュレーションを実行します。実行が完了すると、シーンは ?? のようになり、 光が光源から検出器へどのように進んだかを示す青い光線束が表示されます。
結果を定量的に解析するには、Optical Workbench の
Output タブに切り替えます。すると、
??
のようなファイル一覧が表示されます。
ここで、detector0 はマゼンタの検出器平面に対応します。
detector0 をダブルクリックして、その出力ディレクトリを開いてください。
detector0 フォルダには、マゼンタの検出器平面で記録されたデータが含まれます。
detector0 フォルダ内のファイル。これにはレンダリング画像と
波長依存の検出効率が含まれます。
detector0 内には、いくつかの結果ファイルがあり
(??)、
その中には以下が含まれます:
RAY_image.csv– レンダリングされた検出器画像。detector_efficiency0.csv– 波長に対する全体の検出効率。
RAY_image.csv をダブルクリックして、レンダリング画像ビューアを開きます
(??)。
ここには、Cooke Triplet を通過した後の検出器平面における強度分布が表示されます。
画像は完全な白ではなく灰色がかっていますが、これは放出された光線のうち実際に
検出器へ到達するのが一部に限られることを反映しています。
その理由は、レンズ系内部での反射損失およびクリッピング損失です。
?? に示すプロットは、 Cooke Triplet の 波長依存検出効率 を示しています。 この曲線は、光源平面から放出された光線のうち、3 枚すべてのレンズを通過した後に 検出器へ到達する割合を表します。各面では反射、 屈折、および潜在的なクリッピング損失が生じるため、集光されるパワーは常に放出パワーより 小さくなります。波長とともに効率が緩やかに増加することは、triplet が より長波長の光をわずかに高効率で透過することを示しており、これは高波長側での屈折率コントラストの低下および 色収差偏差の減少と整合的な挙動です。この指標は、 光学系がどれだけ良好に像を形成するか、またどれだけの光が内部で失われるかを示す重要な指標です。
detector_efficiency0.csv から得られた、
波長に対する全体検出効率。これは、各波長で光源からの光線のうち
どの割合が検出器で収集されるかを示します。
レンダリング画像と波長に対する効率プロットを合わせることで、 Cooke Triplet がどの程度良好に光を検出器へ届けるかについて、 最初の定量的な評価が得られます。このチュートリアルの後のセクションでは、 S-plane editor でレンズ曲率および間隔を変更し、 これらの診断結果がどのように応答するかを観察します。
光学系が光に与える影響。
このセクションでは、検出器平面を Cooke Triplet の後方ではなく前方に配置します。 これにより、光学系による損失と、光源または検出器設定による損失とを切り分けることができます。
メイン 3D ビューで、検出器平面(紫色の四角形)をクリックします。次に、 Shift キーを押したまま、検出器を左にドラッグして、 ?? に示すように、光源のすぐ後ろに配置します。 Shift を押している間はオブジェクトスナップが無効になるため、 誤って他のオブジェクトを再選択することなく、検出器を他の オブジェクトを通してスライドできます。
検出器を再配置した後、もう一度 Run simulation ボタンをクリックします。光線追跡が
完了したら、Output タブへ戻り、detector0 を開いてから
detector1 を開きます。前と同様に、RAY_IMAGE.csv および
detector_efficiency0.csv をダブルクリックして、新しい検出器画像と効率プロットを表示します
(?? および
??)。
検出器を光学系の前方に配置すると、放出されたすべての光線は ガラスを通過することなく検出器に到達します。その結果、レンダリング画像は鮮やかな白となり、 ?? の効率曲線は およそ 100 % で平坦になります。次のステップでは、検出器を再び元の位置であるレンズスタックの後方へ戻し、 もう一度完全な Cooke Triplet の性能を解析できるようにします。
波長分解能を上げる
ここまでは、Cooke Triplet のシミュレーションは赤、緑、青の 3 つの波長のみを用いて行ってきました。 これはカラー光線追跡で一般的な方法であり、RGB の原色におおよそ対応する 3 つのサンプルで、レンダリング画像における色の見え方を再現するには十分だからです。 これら 3 つの波長は、 ?? に示す点に対応します。
しかし、3 波長は色表現には理想的である一方で、 透過曲線や効率曲線のような正確なスペクトルプロットを作成するには不十分です。 意味のある分解能を持つ波長依存グラフを生成するには、サンプリング波長数を増やす必要があります。
まず、Optical mesh editor を開きます。 Optical リボン( ?? に表示) に移動し、 Optical mesh ボタンをクリックします。 これにより、現在の波長メッシュが開きます。これは ?? に示されています。
既存の 3 行を削除し、+ ボタンをクリックして新しい行を追加します。 その後、ウィンドウが ?? と一致するように設定してください:
- 開始: 200 nm
- 終了: 1500 nm
- 点数: 20
- ステップ倍率: 1.0(等間隔)
これにより、計算時間を管理可能に保ちながら、はるかに滑らかなスペクトルサンプリングが得られます。 波長数を増やすとシミュレーション時間も増加しますが、OghmaNano は 波長ごとの計算を CPU コア間で並列化することに注意してください。 したがって、マルチコアマシンでは、波長数を 2 倍にしても 実時間が 2 倍になるわけではありません。
ここで再び Run simulation ボタンを押してください。
シミュレーションが完了したら、detector0 に戻って
detector_efficiency0.csv を開きます。
すると、
??
に示すような滑らかなスペクトル効率曲線が表示されるはずです。
およそ 300 nm より短波長側での効率の急激な低下は、一般的な光学ガラスが 紫外で強く吸収するというよく知られた事実を反映しています。 この物理効果は、多くの歴史的な逸話にも現れます。たとえば Richard Feynman は、 最初の核実験をジープの中から見ても目に損傷を受けなかったのは、 ガラス製のフロントガラスが有害な UV フラッシュを遮断したためだと述べています (彼の著書 Surely You're Joking, Mr. Feynman! を参照)。
これでできるようになったこと (パート A)
- 読み込みと操作: Optical Workbench で Cooke Triplet デモを読み込み、操作する。
- 光線追跡の実行: 主要な出力を
detector0内で見つける。 - 結果の解釈:
RAY_image.csvを検出器強度マップとして読み取り、detector_efficiency0.csvを完全なレンズスタックの波長依存スループットとして解釈する。
中核となる考え方: 検出器画像は光がどこに到達するかを示し、効率曲線は 波長の関数として光学系を通過する光がどれだけあるかを示します。
結果が「おかしい」ように見える場合の一般的な確認項目
- 検出器がレンズ群の後方にあることを確認してください(診断ステップ後に前方へ置いたままにしない)。
- 別の検出器フォルダではなく、
detector0(マゼンタ平面)を開いてください。 - 画像には粗い(RGB)波長メッシュを、滑らかなスペクトルには高密度(多点)メッシュを使用してください。
👉 次のステップ: 次のチュートリアルページ パート B に進んでください