瞳シフトとその計算方法

この記事では瞳シフトの定義とレイ エイミングの [瞳のシフトを自動的に計算] (Automatically Calculate Pupil Shifts) オプションの背景について紹介します。この記事には、サンプル事例として使用するアーカイブ ファイルが付属しています。

著者 Alessandra Croce

ダウンロード

この記事の添付ファイル

序論

シーケンシャル光学系に大きな収差や瞳のシフトを特徴とする場合、OpticStudioが入射瞳面を見つけるのが難しい場合があります。この場合、「オブジェクトの座標を特定できません」というエラーメッセージが表示される事があります。 このエラーを回避するには、システム エクスプローラーのレイ エイミングの下にある[瞳シフト]オプションを使用して、シーケンシャル光線追跡アルゴリズムが入射瞳面の一般的な位置を見つけるのに役立ちます。

この記事では、例を通して瞳シフトを手動で設定する方法と、「瞳シフトを自動的に計算する」オプションを使用する方法を示します。

瞳シフトとは

レイ エイミング アルゴリズムは信頼性に優れ、収差のある光学系やディセンタ/ティルトを適用した光学系のほとんどで正しいレイ エイミングを実現できます。しかし、このアルゴリズムでは、目的の絞り面を繰り返し検出するために、まず絞り面に到達する光線を探し出す必要があります。デフォルトでは、この光線の最初の推定位置は近軸入射瞳の中心であり、その方向に光線が送出されます。この最初の推定による光線が絞り面に到達しない場合は、このアルゴリズムでは、近軸入射瞳周辺の別の方向に光線を送出することで絞り面を検出しようとします。しかし、極端なディセンタ/ティルトを適用した瞳や収差が多い瞳では、絞り面を検出する光線が見つからないとレイ エイミングが失敗します。その場合は、OpticStudio から以下のエラー メッセージが発行されます。

zemax error message

このような状況はまれですが、これに起因してレイ エイミングが失敗する場合は、より優れた初期推定が見つかるような手順がレイ エイミング アルゴリズムに必要です。[瞳シフトの自動計算] (Automatically Calculate Pupil Shifts) のチェックをはずしてレイ エイミングを実行するとき、システム エクスプローラで指定する [瞳のシフト] (Pupil Shift) は、この最初の XYZ 推定位置をデフォルトの位置 (近軸入射瞳の位置) からどの程度シフトするかを示す尺度です。瞳シフトの精度は、このアルゴリズムで絞り面を検出できるだけのものであれば十分です。OpticStudio で光線を問題なく追跡できるようになれば、それ以上の処置は不要です。

system explorer

レイ エイミングをオンにすると、[瞳シフトの自動計算] (Automatically Calculate Pupil Shifts) がデフォルトでチェックされます。近軸入射瞳位置と絞り位置との差が OpticStudio で自動的に計算されるので、レイ エイミングで使用する最初の推定値がより優れたものになります。

瞳シフトを手動で計算する方法を以下の例で示します。この方法は、OpticStudio による瞳シフトの自動計算方法と基本的に同一です。

瞳シフトの手動計算

ここでは、瞳シフトを手動で計算する例を示します。付属のファイルを開き、以下の手順に従います。

3D layout

1) レイ エイミングをオフにした状態で、データ一覧 ([解析] (Analyze) → [レポート] (Report) → [データ一覧] (Prescription Data) にあります) から近軸入射瞳の Z 方向位置を探し出します。

データ一覧にある入射瞳の Z 方向位置は面 1 を基準としています。

prescription data

ここで取り上げているファイルでは面 1 がグローバル座標の基準面でもあることから、3D レイアウト ウィンドウに報告される座標は、プリスクリプション データにある入射瞳位置と同様に面 1 を基準としています。
この様子は、面 1 のプロパティの [タイプ] (Type) タブで確認できます。

lens data

2) [3D レイアウト] (3D Layout) で、X 軸、Y 軸、Z 軸を中心とした回転が 0 に設定されていることを確認します (デフォルトの設定)。

3D Layout

3) [3D レイアウト] (3D Layout) 上でカーソルを使用して、物体から見たときに、実光線が絞りの頂点またはその近辺に向かうような Y 座標と Z 座標を推定します。その精度に気を遣う必要はありません。

3D Layout

4) 近軸入射瞳に対して絞りが X 方向にもシフトしている場合は (このサンプル ファイルは該当しません)、[3D レイアウト] (3D Layout) で Z 軸を中心とした回転を +90 に設定し、手順 3) を繰り返して X 座標を決定します。

5) レイ エイミングを [実光線] (Real) に設定し、[瞳のシフトを自動的に計算] (Automatically Calculate Pupil Shift) のチェックをはずして、X、Y、Z (Z 推定値 - 入射瞳 Z 座標) の各座標の推定値を次のように入力します。

X= 0、Y = +30、Z = 30.08 – 30 (ゼロに近いので Z = 0)

瞳シフトを指定せずにレイ エイミングを使用すると、この記事の冒頭で述べたように [オブジェクトの座標を定めることができません。] (Cannot determine object coordinates!) のエラーが返されます。この瞳シフトを入力すると、レイ エイミングによって絞りが正しく探し出され、その絞りを満たすうえで必要な光線が追跡されます。

3D Layout

瞳シフトの自動計算に関するコメント

上記の例は、瞳シフトの計算方法を示すことを目的としたものに過ぎません。[瞳のシフトを自動的に計算] (Automatically Calculate Pupil Shifts) オプションは、この計算を自動化する機能であり、近軸光線と実光線双方のレイ エイミングを有効にするとデフォルトでチェックされます。このことから、[瞳のシフトを自動的に計算] (Automatically Calculate Pupil Shifts) がチェックされていると、瞳シフトの X、Y、Z の各座標値は表示されません。

system explorer

なお、必要に応じてこのオプションのチェックを外すことで、自動計算値とは異なる瞳シフトを入力することもできます。

system explorer

KA-01452

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

コメント

0件のコメント

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