RAYTRACE
OpticStudio の光線追跡ルーチンを呼び出し、現在の光学系で特定の光線を追跡します。
構文 :
RAYTRACE hx, hy, px, py, wavelength
説明 :
式 hx および hy は -1 ~ 1 の間の値に評価される必要があり、正規化視野座標を表します。瞳座標は式 px および py で指定され、これらも -1 ~ 1 の間の値に評価される必要があります。正規化座標の詳細については、「正規化視野座標」を参照してください。wavelength 式はオプションで、デフォルトでは主波長に設定されます。指定する場合には、1 から定義された波長の最大数までの範囲の整数に評価される必要があります。
光線の追跡後、ZPL 関数の RAYX、RAYY、RAYZ、RAYL、RAYM、RAYN を使用して (グローバル座標で結果を得るには、RAGX、RAGY、RAGZ、RAGL、RAGM、RAGN を使用)、光線交差座標と方向余弦を決定できます。光線追跡中にエラーが発生した場合は、関数 RAYE (RAY Error を意味する) がゼロ以外の値を返します。RAYE が負の数値の場合は、戻り値の絶対値の面番号の面で全反射が発生したことを示します。RAYE の戻り値が -9999 である場合は、光線追跡を開始できません。
RAYE の戻り値がゼロより大きい場合、光線はその戻り値の面番号に到達していません。RAYE の確認はオプションですが、RAYE がゼロでない場合、RAYX、RAYY などの関数は無効なデータを返す可能性があります。関数 RANX、RANY、RANZ は交差面の法線の方向余弦を返し、OPDC は光線の光路差を返します。関数 RAYV は光線がビネッティングされた面番号を返すか、光線がビネッティングされていない場合はゼロを返します。ビネッティング面を過ぎた面について返される値は、正確でない可能性があります。
例 :
PRINT "Tracing the marginal ray at primary wavelength!" n = NSUR() RAYTRACE 0,0,0,1 y = RAYY(n) PRINT "The ray intercept is ", y PRINT "Tracing the chief ray at maximum wavelength!" RAYTRACE 0,1,0,0,NWAV() y = RAYY(n) PRINT "The ray intercept is ", y
関連キーワード :
RAYTRACEX
次へ :