シーケンシャル光学系を扱う場合、通常はローカル座標で作業する方が便利です。しかし、グローバル座標を使用した方が容易な場合もあります。その好例として、有限要素解析 (FEA) で得られた変動データを、複雑な 3 次元のティルトやディセンタを設定した光学系に適用する状況があります。この記事では、シーケンシャルのローカル座標とグローバル座標の間でデータの入力方法を切り替える方法について解説します。
著者 Mark Nicholson, Updated by Nicholas Herringer
Downloads
Introduction
シーケンシャル モードでは、ローカル座標で作業することが普通です。ローカル座標では、各面の位置をその前の面の厚み (前の面からの Z 軸方向距離) で定義します。しかし、グローバル座標系を使用した方が便利な場合もあります。その一般的な例として、振動解析を必要とする光学系があります。この解析では、振動によって発生する数々の変動を OpticStudio にインポートして、機械的な位置ずれによる光学的な影響を評価する必要があります。その場合、ローカル座標での評価とグローバル座標での評価との間を迅速、容易に行き来できると便利です。この記事では、LDE のツールバーにある [グローバルからローカルへ] (Global To Local) ツールおよび [ローカルからグローバルへ] (Local To Global) ツールの機能について解説します。
座標ブレーク
座標ブレーク面を使用すると、シーケンシャル光学系にある他の面にディセンタおよびティルトを適用して、より複雑な光学系をモデル化できるようになります。座標ブレークでは、X 方向と Y 方向のディセンタ、X 軸周り、Y 軸周り、Z 軸周りのティルト、またはこれらの任意の組み合わせを適用することで、その座標ブレーク面に続く面のローカル座標系を調整します。OpticStudio では、頻繁に使用する各種ツールがレンズ データ エディタのツールバーに用意されています。このようなツールとして、コンポーネントのティルトやディセンタ、折り返しミラーの追加と削除などがあります。
ここの例では座標ブレーク面を使用するので、この記事を読み進む前に、座標ブレーク面の使用方法を習得しておくことをお勧めします。座標ブレークの詳細は、ナレッジベースの記事「シーケンシャル光学部品にティルトとディセンタを適用する方法」を参照してください。
プリズムの公称設計の定義
シーケンシャル モードでグローバル座標を扱うための原理を説明する例として、複数のシーケンシャル プリズムで構成したプリズム チェーンをモデル化します。この光学系では、入射ビームが段階的に屈折して、湾曲した経路を伝搬します。それにつづき、この光学系にある 1 つのプリズムが占めるグローバル位置を調整します。このプロセスの第 1 のステップは、下図のようなプリズムを 1 つ定義することです。このプリズムのサンプル ファイル (single_prism.ZMX) は、この記事の添付ファイルとしてダウンロードできます。
先に進む前に、このファイルがどのように設定されているかを確認します。
平行光線とした光 (コリメート光) が面 1 (OBJECT) で光学系に入射します。面 2 はプリズムの前側フェイスです。この面は、1 辺が 10 mm の正方形アパチャーを持ち、公称の X 軸を中心として 15 度ティルトしています。[面の後] (After Surface:) を [この面を反転] (Reverse This Surface) に設定することで、ティルトを解消しています。これにより、以降の面の座標は元の座標系になります。面 3 でティルトし、さらに逆方向にティルトしてティルトを解除しています。
プリズムの前側フェイスと後側フェイスの面ティルトをわかりやすく視覚化するために、面 2 と面 3 の両方で [面のプロパティ] (Surface Properties) → [描画] (Draw) → [ローカル座標の表示] (Draw Local Axis) を選択します。これによって、3D レイアウト プロットに両方の面のローカル座標系が表示されます。
下図の 3D レイアウトを見ると、面 1 (オレンジ色) がグローバル座標基準面であり、このファイルで開始座標系を定義していることがわかります。各面から突き出ている矢印が、その面のローカル Z 軸であり、ローカル Y 軸は上方向、ローカル X 軸は画面の奥方向を向いています。面 2 は X 軸周りに +15 度、面 3 は X 軸周りに -15 度それぞれティルトしています。
プリズムの後を見ると、面 4 が、X 方向と Y 方向のディセンタおよび X/Y/Z 軸周りのティルトを定義するパラメータが設定された座標ブレーク面であることがわかります。このファイルでは、Z 軸周りのティルトを除くこれらのパラメータを、主光線ソルブで制御しています。これにより、面 5 のローカル座標系の中心と方向が、主光線の位置と方向に一致するようになります。つまり、座標系の原点を主光線が通り、Z 軸が主光線と平行になります。これにより、基本的に次の面の中心を光学ビームが必ず通過します。
これは、ローカル座標系の主な利点のひとつです。ローカル座標系はその面を中心としているので、光学系での光線の伝搬に伴って、面単位でさまざまな変更が容易になります。OpticStudio は、一般的な要件を適用する光線ベースのソルブを多数備えているほか、特有の要件には ZPL マクロ ベースのソルブを定義できます。
この後、ローカル座標系が効果的ではなくなる拡張を、このサンプル ファイルに適用し、ローカル座標系とグローバル座標系を容易に切り替える方法を検討します。
プリズム チェーンの作成
単独のシーケンシャル プリズムを作成したので、そのコピーをいくつか作成し、それらをプリズム チェーンとして連続配置します。このプリズム チェーンが、グローバル座標を使用する最終的な作業の基礎になります。プリズム チェーンを作成するには、レンズ データ エディタの面 2 ~ 4 をハイライトして、キーボードの Ctrl + C を押すことで、既存のプリズムをコピーします。選択した行を右クリックして、ドロップダウンから [複数の面をコピー] (Copy Surfaces) を選択する方法もあります。
次に、面 5 をハイライトして、キーボードの Ctrl + V を押し、コピーした行をレンズ データ エディタに貼り付けます。コピーの場合と同様に、面 5 を右クリックして、ドロップダウンから [複数の面を貼り付け] (Paste Surfaces) を選択する方法もあります。このプロセスを合計 10 回繰り返し、レンズ データ エディタに元のプリズムのコピーを 10 個貼り付けます。3D レイアウトを更新すると、入射ビームの方向を円弧状に約 180 度変更する、11 個のプリズムで構成するチェーンが表示されます。
この時点で、レンズ データ エディタには 35 個の面があります。この記事では、面 17 と面 18 のグローバル位置に変動を適用します。これらの面は、チェーンにある 6 番目のプリズムを記述しています。レンズ データ エディタのツールバーから [面に移動] (Go to Surface) を選択して面 17 に移動します。
面 17 と 面 18 の両方のコメント パラメータに「My Prism」 と入力し、[面のプロパティ] (Surface Properties) → [タイプ] (Type) で、[面の色] (Surface Color) を [色 4] (Color 4) に設定します。これらの設定により、レンズ データ エディタとシェーデッド モデルのそれぞれで、目的のプリズムを容易に特定できるようになります。
ここで、この目的のプリズムの位置に変動を適用するとします。ローカル座標で作業するのであれば、この操作は簡単です。レンズ データ エディタのツールバーにある [ティルト/ディセンタ エレメント] (Tilt/Decenter Element) を使用し、変動の対象とする面を選択して、変動の値を直接入力するだけです。
しかし、光学系にある他の何らかの位置を基準として、この変動を計算する場合、ローカル座標系を使用したのでは、このような簡単な操作は望めません。その場合は、データをグローバル座標で入力した方が便利です。幸いなことに、必要に応じてグローバル座標に変換し、そこからローカル座標に戻す操作を容易に実行できます。
グローバル座標への変換
レンズ データ エディタ ツールバーには、グローバルとローカル間の座標変換を実現する 2 つのツールがあります。[ローカルからグローバルへ] (Local To Global) と [グローバルからローカルへ] (Global To Local) がそのツールです。
ここでは、光学系をローカル座標からグローバル座標に変換します。その前に、面 1 を基準としてすべての面を配置することに意味があるように、面 1 がグローバル座標基準面に設定されていることを確認します。グローバル座標基準面を基準としてすべての面を配置する必要はありませんが、そのようにすれば、唯一のグローバル基準を維持するうえで便利です。[ローカルからグローバルへ] (Local To Global) を選択し、そのプロパティを次のように設定します。[OK] をクリックします。
この操作を実行すると、レンズ データ エディタの各プリズムの前に 3 つの座標ブレーク面が追加されることがわかります。
最初の座標ブレークでは、座標リターン ソルブを使用して、[ローカルからグローバルへ] (Local To Global) ツールで定義した基準面 (この場合は面 1) の位置に、この座標ブレークに続く面を配置します。第 2 の座標ブレークでは、X、Y、Z (厚みパラメータ) 各方向のディセンタを適用して、この座標ブレークに続く面を元のグローバル位置に配置します。第 3 の座標ブレークでは、X、Y、Z の各軸周りのティルトを適用して、この座標ブレークに続く面のローカル座標系の方向が元の方向と一致するようにします。つまり、この例では、各プリズムの前に置いた 3 つの座標ブレークによって、そのプリズムの位置と方向が決まるということです。ただし、この変換によって空間でのプリズムの位置が変化することはなく、各プリズムは本来の位置に保持されている点に注意してください。このようにして、面 27 (目的のプリズムの前側フェイス) は面 1 を基準に次のように配置されます。
X 位置 | 0.00 |
Y 位置 | -162.03 |
Z 位置 | 191.38 |
X 軸周りのティルト | 83.01 |
Y 軸周りのティルト | 0.00 |
Z 軸周りのティルト | 0.00 |
このデータは、2 番目と 3 番目の座標ブレークの各パラメータから直接読み取ることができます。プリズム位置の変更は、これらのパラメータを直接調整するだけで実現できます。面 25 と面 26 のパラメータを、次のように変更します。
面 25 | 面 26 | ||
X 方向のディセンタ | 0.50 | X 軸周りのティルト | 84.00 |
Y 方向のディセンタ | -164.00 | Y 軸周りのティルト | -2.30 |
厚み | 198.00 | Z 軸周りのティルト | 4.70 |
この変更を適用しても、目的のプリズムの後に続く各プリズムの位置は変化しないことがわかります。これは、目標のプリズムを直接グローバル座標に配置していることから、その位置や方向が他の面とオブジェクトのいずれにもまったく影響しないからです。
また、光学系をローカル座標に戻す操作は、レンズ データ エディタ ツールバーの [グローバルからローカルへ] (Global To Local) ツールで容易に実現できます。一般的な注意事項として、シーケンシャル モードでグローバル座標を使用する場合でも、光線追跡はシーケンシャルに実行される点を念頭に置く必要があります。つまり、ビームから完全に外れた位置まで目的のプリズムを移動すると、ビームはこのプリズムを通って伝搬しなくなります。シーケンシャル モードでは、光線を次の面まで追跡できないと、光線追跡が中断します。1 つのプリズムをビームから除外してもビームが次のプリズムまで追跡されて、光線追跡が続くようにするには、ノンシーケンシャル光線追跡を使用します。その場合は、ファイルをノンシーケンシャル モードまたは混合モードに変換する必要があります。
KA-01506
コメント
サインインしてコメントを残してください。