ブール ネイティブ

ブール ネイティブ オブジェクトは、ブール CAD オブジェクトに類似していますが、より効率的な光線追跡アルゴリズムを使用します。親オブジェクトの定義、ブール演算、オブジェクトの配置についての詳細は、「ブール CAD」を参照してください。ブール CAD オブジェクトと異なり、ブール ネイティブ オブジェクトでは各コンポーネント オブジェクトを NURBS ベースの面表現に変換せず、親オブジェクトのネイティブ形状を使用します。そのため、ブール ネイティブ オブジェクトでの光線追跡は、ブール CAD オブジェクトの場合よりもはるかに高速で (最大 10 倍)、より正確であることが普通です。
ブール ネイティブ オブジェクトを通過する光線追跡
ブール ネイティブ オブジェクトに向かう光線の追跡では、親オブジェクトまで光線が追跡され、光線追跡に対してブール演算が実行されます。まず、親オブジェクトのフェーセット表現を使用して光線とオブジェクトとの交差を「最初の近似の推定」として求め、厳密解が得られるまでこの推定を繰り返します (フェーセット表現とは、[オブジェクト プロパティ] (Object Properties) → [描画] (Draw) で設定した [描画解像度] (Drawing Resolution) で生成した三角形による表現です)。
つまり、ブール ネイティブ オブジェクトの光線追跡は親オブジェクトに依存します。親オブジェクトを通して適切に光線を追跡できない場合や、光線が親オブジェクトに到達しない場合は、ブール ネイティブ オブジェクトを通る光線追跡は適切に実行できません。描画解像度の詳細は、「[描画] (Draw) ([オブジェクト プロパティ] (Object Properties)、ノンシーケンシャル コンポーネント エディタ)」の「描画解像度と境界領域に関するコメント」を参照してください。
レンダリング :
ブール ネイティブ オブジェクトをレンダリングするには、オブジェクトを NURBS 形式に変換します。ただし、光線追跡ではこの方法を使用しません。ブール ネイティブ オブジェクトの光線追跡では、親オブジェクトのネイティブ形状を使用します。
光線追跡速度
親オブジェクトが CAD オブジェクトである場合、または OpticStudio のネイティブ オブジェクトではない場合、ブール ネイティブ オブジェクトであっても、ブール CAD オブジェクトよりも高速な光線追跡にはなりません。
また、多数の親オブジェクトで作成したブール ネイティブ オブジェクトでは、ブール CAD オブジェクトの場合よりも高速で光線を追跡できないことがあります。これは、すべての親オブジェクトを通る光線を追跡する必要がある点は変わらないうえ、形状のブール演算を考慮する必要があるからです。したがって、多くのオブジェクトを結合する必要がある場合は、ブール ネイティブ オブジェクトを使用するよりも、ネスト構造としたオブジェクトを使用する方が光線追跡が高速になる可能性があります。ネストしたオブジェクトについての詳細は、「オブジェクトの配置」を参照してください。
ブール ネイティブ オブジェクト内部への光源の配置
[内部配置] (Inside Of) パラメータを使用すると、ブール ネイティブ オブジェクトの内部に光源を配置できます。ただし、ブール CAD オブジェクトとは異なり、親オブジェクトの位置を考慮する必要があります。これは、ブール ネイティブ オブジェクトでは、各コンポーネントを NURBS ベースの面表現に変換せず、親オブジェクトのネイティブ形状を使用しているからです。
ブール ネイティブ オブジェクト内部の光源から発する光線は、ブール ネイティブ オブジェクトのローカル座標を基準として配置された親オブジェクトの形状を通して追跡されます。したがって、光線が親オブジェクトの領域から出発する場合であっても、[内部配置] (Inside Of) パラメータには、親オブジェクトの番号ではなく、ブール ネイティブ オブジェクトの番号を設定する必要があります。これは負の空間でも同様です。たとえば、下図のようなオブジェクト A とオブジェクト B およびそれらのブール演算 A-B を考えます。
オブジェクト B の領域内部のどこかに光源を配置する必要があるとします。この場合、ブール演算でオブジェクト A からオブジェクト B を減算することで、ブール ネイティブ オブジェクト周囲の領域が空気になりますが、それでも光源の [内部配置] (Inside Of) パラメータにはブール ネイティブ オブジェクトの番号を設定する必要があります。親オブジェクト A および B 全体の形状を考慮する必要があります。光線追跡では、これらの全体形状が使用されるからです。
ブール ネイティブ オブジェクトと同じローカル座標系に親オブジェクト B を配置していない場合でも、オブジェクト B の全体形状を考慮する必要があります。これは、ブール ネイティブ オブジェクトのローカル座標系を基準として親オブジェクトの形状が再構築されるからです。たとえば、下図に示すように、オブジェクト B の全体形状を考慮せずに配置した光源を考えます。

光源オブジェクトの [内部配置] (Inside Of) に正しい値が設定されていないため、空気と見なすべき領域で光線が誤ってセグメント化されています。
次の図は、同じ光学系で、[内部配置] (Inside Of) を正しい値であるブール ネイティブ オブジェクトの番号に設定した例です。

[内部配置] (Inside Of) をブール ネイティブ オブジェクトの番号に設定したことで、光線が六角形の開口部を通って適切に伝播し、前の図のようなセグメント化が発生していません。
ブール ネイティブ オブジェクト内部に光源を正しく配置できるように、親オブジェクトとブール ネイティブ オブジェクトに対して同じグローバル座標系を使用することをお勧めします。光源を配置し、光学系の定義が完了した後は、親オブジェクトを対象領域外の別の場所に移動してもよく、非表示に設定して無視してもかまいません。オブジェクトを無視して非表示にする右クリック オプションについては、「エディタ ウィンドウの操作」を参照してください。オブジェクトを無視する設定についての詳細は、「[オブジェクト プロパティ] (Object Properties)」→「[タイプ] (Type)」→「[光線追跡] (Ray Trace) の各設定」を参照してください。オブジェクトを非表示にする設定についての詳細は、「[オブジェクト プロパティ] (Object Properties)」→「[描画] (Draw)」を参照してください。
混合モードの使用
ブール ネイティブ オブジェクトを使用した混合モードでは、親オブジェクトの位置を考慮する必要があります。親オブジェクトが入射ポートに接している場合、または入射ポートを取り囲んでいる場合、親オブジェクト内部から光線が出発しないように逆伝播距離を使用する必要があります。
ブール ネイティブ オブジェクトの定義には、次のパラメータを使用します。
パラメータ番号 | 説明 | フェイス名 | フェイス番号 |
1 |
OpticStudio 形式から NURBS 形式への変換時に、非球面にスプラインをフィッティングするために使用する点の数。ブール ネイティブ オブジェクトの光線追跡では親オブジェクトのネイティブ形状を使用するので、光線追跡以外の目的で CAD 形状を使用する場合にのみ、このスプライン パラメータが必要になります。このような状況として、レンダリング、CAD ファイルへのエクスポート、スイープ オブジェクトやブール CAD オブジェクトでの使用があります。 この値は整数コードで、0 = 4 点、1 = 8 点、2 = 16 点、3 = 32 点、4 = 64 点、5 = 128 点、6 = 256 点として指定します。オブジェクトによっては、スプラインの設定値を大きくすることでオブジェクトの精度が向上することがありますが、オブジェクトの作成やレンダリングの速度は低下します。 |
該当なし | 該当なし |
5 ~ 14 | どのオブジェクトが A、B、C であるかを定義するオブジェクト番号。親オブジェクトの定義についての詳細は、「ブール CAD」を参照してください。 | サイド | エラー コード 0 |
次へ :