座標リターンを使用して座標系を復元する方法

OpticStudio のシーケンシャル モードでは、座標ブレーク (CB) 面を使用して、現在の座標系を基準とする新しい座標系を定義します。この記事では、OpticStudio の座標リターン機能の使用方法を解説します。座標リターン ソルブを使用すると、目的とする面の座標系に自動的に復元する操作を容易に実行できます。

著者 Dan Hill

Downloads

記事の添付資料

Introduction

OpticStudio のシーケンシャル モードでは、座標ブレーク (CB) 面を使用して、現在の座標系を基準とした新しい座標系を定義します。この面の主要な用途は、ローカル座標系でティルトやディセンタを定義して面に適用することです。座標ブレークを使用すると、設計で面やエレメントを配置およびティルトする際に優れた柔軟性が得られます。

ただし、複雑にネスト化したティルトとディセンタが多数存在する場合、座標系の復元 (座標ブレーク面の前にある面の座標系に戻す操作) が困難になることがあります。OpticStudio の座標リターン機能を使用すると、この問題への対応がきわめて容易になります。この記事では、座標リターン機能の使用法を示す例を紹介します。

座標リターン機能

座標リターン機能は、座標ブレーク面にのみ使用でき、[面のプロパティ] (Surface Properties) ダイアログの [ティルト/ディセンタ] (Tilt/Decenter) タブにあります。

 

lens data

 

座標リターン機能の使用法はきわめて簡単です。座標系の復元方法と、復元する座標系で定義した面を選択するだけです。[なし] (None) (座標リターン機能の無効化) のほかに、座標系の復元方法を指定する次の 3 種類のオプションがあります。

[方向のみ] (Orientation Only): X 軸周り、Y 軸周り、Z 軸周りのティルトのみを指定して、座標系の方向を復元します。面の頂点の位置のオフセットは調整されません。

[方向と XY] (Orientation XY): X 軸周り、Y 軸周り、Z 軸周りのティルトおよび X 方向と Y 方向のディセンタを指定して、座標系の方向を復元します。頂点オフセットの X 成分と Y 成分を、選択した面に対して相殺しますが、Z 方向の位置は調整しません。

[方向と XYZ] (Orientation XYZ): Z 方向のオフセットも考慮する点を除き、[方向と XY] (Orientation XY) と同じです。Z 方向のディセンタは座標ブレーク面の厚みパラメータに作用するので、座標ブレークの後に続く面の方向と位置が [リターン先の面] (To Surf) と同じになります。

 

座標系の復元

CB リターンを使用しない場合は、「ダミー」伝搬を使用して前の面の座標系に戻ることができます。しかし、ダミー伝搬に存在する座標系が多くなると、「座標系の連鎖を遡る」ことが困難になり、誤りが発生しやすくなります。一方、CB リターンを使用すれば、座標系の回転とディセンタの回数と順序に関係なく、元の座標に戻すことができます。

下図では、X 軸周りに 20 度ティルトした S1 の座標系の Z 方向に、ゼロでない一定距離を光線が伝搬しているので、S2 と S3 では Y 方向にオフセットが発生しています。

 

lens data, 3d layout

 

物空間の座標系で S3 の位置を定義するには次の方法があります。

  • ティルトした座標系の z 方向に伝搬したことによって Y 方向に発生するオフセットを手作業で計算し、その値に基づいて面をディセンタします。
  • 面 2 (最初の CB) に戻るダミー伝搬を使用してティルトを元に戻したうえで、以降の面までの適切な Z 方向厚みを指定します。
  • OpticStudio で面 1 (最初の CB の前のダミー面) の座標系に自動的に復元します。

このように単純なサンプル ファイルであれば、3 つの選択肢のどれを使用しても比較的容易に座標系を復元できます。しかし、ネスト化した座標ブレークの階層を物空間の座標に戻す必要がある場合はどうでしょうか。座標リターンが威力を発揮するのは、このような状況です。

 

座標リターンの適用

座標リターンの有効性を示すために、ここでは前ページの第 3 の選択肢を採用します。前述のとおり、S2 (LDE では面 5) は、S1 のティルトした座標系での Z 方向伝搬により、Y 方向にディセンタしています。S3 の座標系が物空間と同じ座標系になるように、このオフセットを元に戻す必要があります。LDE の面 1 も物空間の座標系にあります。物体は無限遠にあるため、面 1 を [リターン先の面] (To Surf) として使用します。

像面の直前に面を挿入し、その面タイプを [座標ブレーク] (Coordinate Break) に変更します。[OK] を選択します。座標リターンを適用する前に、面 5 と面 6 の厚みに調整をいくつか実施する必要があります。S2 から 20 レンズ ユニット離れた位置に S3 を置くことにします。その前に、S1 の座標系での z 方向伝搬によって発生したオフセットを元に戻します。したがって、次のような厚みとなるように面 5 と 面 6 の間の厚みを設定します。

 

lens data, surface 6 properties

 

面 6 の [面のプロパティ] (Surface Properties) ダイアログを開き、[ティルト/ディセンタ] (Tilt/Decenter) タブを選択します。この場合は、X 軸周り、Y 軸周り、Z 軸周りの回転を元に戻すほか、X 方向と Y 方向のディセンタがあれば、それも元に戻す必要があります。ここでは、新しい座標系の z 軸と面 1 の座標系の z 軸が一致しないようにします。したがって、座標リターンのオプションを [方向と XY] (Orientation XY) として、Z 方向のオフセットを考慮しない設定に変更し、[リターン先の面] (To Surf) を 1 に変更します。

[OK] をクリックして [面のプロパティ] (Surface Properties) ダイアログを閉じ、面 6 の CB パラメータの変化を確認します。文字「R」は、パラメータが座標リターン ソルブで制御され、ソルブと同様に機能することを示しています。座標リターンを使用すると、その座標リターンで制御されるあらゆるデータに対する他のソルブ、変数、マルチコンフィグレーション ステータスがすべて無効になります。

 

lens data surface 2

 

この例では、面 1 の座標系に一致するように座標系を復元するには、Y 方向のディセンタのみを制御すれば十分です。その実際の値は 20 * sin (20) = 6.8404 です。この値は、データ一覧レポートで確認できます。
 

prescription data

 

 

 

KA-01437

この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています

コメント

0件のコメント

サインインしてコメントを残してください。