こんにちは。光学、光でのお困りごとがありましたか?
光ラーニングは、「光学」をテーマに様々な情報を発信する光源を目指しています。情報源はインターネットの公開情報と、筆者の多少の知識と経験です。 このページでは、OpticStudioを使いこなすうえで必須の知識になる、「ローカル座標とグローバル座標」について説明します。
結論
- ローカル座標は、ある光学面の座標中心です。多くのローカル座標は面の頂点に位置しますが、例外もあります。
- グローバル座標は、光学系全体の基準になる座標中心です。OpticStudioでは任意の面のローカル座標をグローバル座標に指定できます。
このページの使い方
このページで参考にした技術記事(ナレッジベース)は、OpticStudioのシーケンシャルモードについて で、4番目の記事になります。1番目の記事 (幾何光学とは?シーケンシャルとは?)、2番目の記事 (結像光学系とは?)、3番目の記事 (ウィンドウの固定表示と浮動表示) もよろしければどうぞ。5番目の記事はこちら (ZDAファイルと解析ウィンドウ) になります。
この記事は、OpticStudioのシーケンシャルモードで光学系を設定する方法や、結像光学系の基礎について記載されています。 すでに光学に関する業務に携わっている人にも、これから光学を学習する人にも、参考になる内容が含まれています。このページでは、ナレッジベースで使われている光学用語、技術用語、前提知識について、もう一歩踏み込んだ説明を加えていきます。
OpticStudioの座標系に関する注釈
このページは、OpticStudioのGUIの段落を参照しています。GUI と直接関係はありませんが、「光学面のローカル座標、光学系のグローバル座標」について説明します。思い通りの光学系を設定するうえで、座標系は重要ではあるものの理解しにくい部分があります。
ここからは、具体的な座標系の操作までは踏み込みませんが、OpticStudioが使用するローカル座標とグローバル座標の意味について、理解の助けとなれば幸いです。
OpticStudioの座標系 右手系 (Right-Handed Coordinate System)
OpticStudioはシーケンシャルモード、ノンシーケンシャルモードともに3次元空間を取り扱えます。3次元空間の位置情報、ある物体が置かれている位置を決定するには、6つのパラメータが必要になります。x, y, z 方向の距離と、x軸, y軸, z軸を中心とした回転量 (チルト、ティルト) です。
右手系や左手系というのは、基準になる xyz 軸のプラス方向の向きと、回転のプラス方向を定義するものです。Wikipedia によれは、測量以外の多くの分野では右手系が採用されているとのことでした。
右手系は、右手で図 5-1 [1] のような形をとって、親指 = x 軸、人差し指 = y 軸、中指 = z 軸となります。それぞれの指の向いている方向が、それぞれの軸のプラス方向になります。また、それぞれの軸中心の回転では、時計回りの方向がプラス回転になります。
座標系を思った通りに設定するのが難しい理由の一つとして、「回転させる軸の順番が違うと、同じ角度を回転させても得られる座標の結果が異なる」という点があります。これは、座標の回転は直前の回転で定義された座標軸を中心に実行されるためです。わかりにくい説明で申し訳ないです。
例として、実際に右手系を手で作って、眼前の方向に+z軸、つまり中指を向けます。次に、以下の順で回転させた結果を比較してみてください。
① x軸 (親指) 中心に+90度回転。次に、y軸 (人差し指) 中心に+90度回転。「ゲッツ」みたいな形で、前方上斜め45度を人差し指がさします。
② y軸 (人差し指) 中心に+90度回転。次に、x軸 (親指) 中心に+90度回転。 左を人差し指がさします。
複雑な座標設定が要求される光学系の場合、空間認識能力と、右腕の関節の柔軟性が問われます。
光学業界の慣例 光が進む方向が +z
長い歴史を持つ光学設計の歴史では、いくつかの慣例があります。座標系に関して代表的なのは、以下の2つでしょうか。過去の多くの資料がこれら慣例に従っているので、ひとまずは受け入れることをお勧めします。
① 光学系を描画する場合、光線が左から右に進むように書く。
② 光線が進む方向に z 軸のプラス方向を取る。
②の慣例によって、光学ソフトウェアで3次元レイアウトの等角投影図を描画する場合、ほとんどのソフトウェアで光線 (= +z 軸) が画面の奥の方へ向かうようにデフォルトで設定されています。一方で、メカCADのデフォルトは +z 軸が画面の手前に (こちら側に向かってくるように) 向くように設定されているため、特にメカエンジニアとのコミュニケーションでは少し注意が必要です。
シーケンシャル特有の表現「光学面」
ここから、OpticStudioの座標系について説明します。シーケンシャルモードとノンシーケンシャルモードでは、座標系が右手系であること、ローカル座標とグローバル座標の両方が使用できることに変わりはありませんが、光学系の設定方法に違いがあります。それが、「光学面」という考え方です。
1番目の記事のシーケンシャル光線追跡でも触れたように、シーケンシャルモードではユーザが定義した面の順番通りに光線を追跡していきます。レンズのような光学部品、ではなくて、面、になります。例えば、1枚のレンズは「前側の面」と「後ろ側の面」を定義するため、エディタでは2行が必要になります。
一方、ノンシーケンシャルモードでは、体積を持つ3次元形状や厚みを持たない面形状を含めた、「オブジェクト」で光学系を設定します。例えば、1枚のレンズは「標準レンズ」というオブジェクトタイプを用いて、エディタ1行で設定可能です。シーケンシャルとノンシーケンシャルの違いに関しては、近いうちにもう少し詳しく説明したいと思います(純粋なノンシーケンシャル_OpticStudioのノンシーケンシャルモードについて (2) を参照してください。)。
ローカル座標とは何か
ローカル (Local) は、局地的な、部分的な、といった意味の英語です。ここでは前者の意味となり、ローカル座標は、その面 / そのオブジェクトそのものの中心です。「ローカル原点 (その面の形状を定義するための基準点)」のように表現する場合もあります。注意点は、ローカル座標の位置は必ずしも光学面の頂点ではない、ということです。例えば、面の形状を決定する定義式にディセンタの項が含まれている場合、光学面のローカル原点と光学面の間には間隙ができます。
記事に記載されている通り、シーケンシャルモードの場合、光学面を1枚ずつローカル座標で定義していきます。つまり、光学系を設定するプロセスが、面Aを定義 → 面Bのローカル座標の位置へ移動 → 面Bを定義 → 面Cのローカル座標の位置を移動・・・を繰り返しています。光学系の座標軸が一直線の場合、面間のローカル座標の移動は厚さのみで対応できます。
もし、光学系の1つのレンズが傾いている、反射ミラーを挿入するなどして、座標軸が一直線でない場合、面Aから面Bのローカル座標へ移動するには厚さ以外のパラメータが必要になります。このパラメータを入力するための手段が、座標ブレーク (Coordinate Break) という特殊面です。この特殊面は、シーケンシャルモードでローカル座標を制御するための面で、OpticStudio習得のハードルの1つとなっています。座標ブレークについても、またの機会で説明したいと思います。(座標ブレーク(Coordinate Break)ってなに?を参照してください。)
グローバル座標とは何か
グローバル (Global) は、全世界の、全体的な、といった意味の英語です。ここでは後者の意味となり、グローバル座標は、構築された光学系が存在する空間全体の中心です。上と同じく、グローバル原点と表現する場合もあります。グローバル原点は任意の場所に設置することができます。光学系の最初のレンズの頂点をグローバル座標にすることもあれば、図 5-4 のようにメカ部品の攻勢が決まっている場合、フランジの当てつけ面の中心をグローバル座標にすることもあります。グローバル座標をメカエンジニアと合意しておくと、CADデータとして出力した光学設計の取り込みが容易になります。
まとめ
ここでは、Zemaxのホームページからアクセスできる公開記事、OpticStudioのシーケンシャルモードについて から、OpticStudioのGUI に登場する「光学面のローカル座標とグローバル座標」を取り上げ、OpticStudioの採用する右手系と2つの座標系について説明しました。
次回は、「レイアウトウィンドウ」で出てくるOpticStudio関連の用語について、説明を加えたいと思います。
<参考>
[1] http://www.mt-kentei.jp/hint/hint_beg09.php
コメント