• 87 Topics
  • 92 Replies

87 Topics

有効焦点距離とディストーション焦点距離の違いについて

https://www.zemax.jp/blogs/news/tech-tips-june-2021?_pos=1&_sid=f2fa35af3&_ss=r 有効焦点距離とディストーション焦点距離の違いについて多くの光学定義において、焦点距離は比較的使われる数値です。ただし、計算によって、求める焦点距離の定義が変わる事を注意しなければいけません。このブログ記事では、近軸の焦点距離の計算の違いを、有効焦点距離とディストーション焦点距離で説明します。ディストーション (歪曲) 収差とは、光の実際の焦点が「期待される」焦点位置と一致しないことです。 では、「期待」とは何を意味するのでしょうか。 ほとんどの撮像装置の「期待値」は、h=f tanθです。これは、焦点距離に対する像高の正接に入射角をかけたもので、当たり前のことですが、f tanθの物体-像の関係は、直線を撮影しても、直線が見えることを保証しています。まず、f tanθを例にして、ディストーション収差の本来の定義式を説明します。ここで「f」とは、有効焦点距離(EFFL)ではなく、ディストーション焦点距離 (Distortion Focal Length) です。OpticStudioでは、近軸光線を追跡して光軸との交点を求め、EFFLを算出します。近軸光線とは、光学設計の言葉で言えば、0視野、非常に小さな瞳です。 例えば、(Hx, Hy, Px, Py) = (0, 0, 0, 1E-8) となります。EFFLの大きさは、明らかに像面の位置とは関係ありません。しかし、このディストーション収差の大きさは、明らかに像面の位置に関係しています。歪曲収差の焦点距離を定義する際には、小さな視野の主光線(Chief Ray)を追跡することになります。すなわち、(Hx, Hy, Px, Py)=(0, 1E-8, 0, 0)となります。視野が0に近づくと、収差はデフォルトで0、つまりyref = ychief = ftanθとなり、ychiefとθはどちらも実光線を追跡して得ることができます。 上の式から逆算して、この時点での焦点距離fを求めることができます。この焦点距離はディストーション焦点距離であり、明らかに像面位置に関係しています。ディストーション収差のfはそのままEFFLを使うことができないのはこのた

ZPL オペランド:座標ブレーク面を使用した2つ面の最小距離の取得

以下のリンクからZPLコードをダウンロードしてください。Code Exchangeというコミュニティは、Zemaxのサポートを受けているユーザ様が、OpticStudioの機能を拡張するためのプログラミング・ソリューションを探したり、共有したりするためです。Zemaxのサポートを受けているユーザ様限定です。https://community.zemax.com/code-exchange-10/zpl-operand-get-the-minimum-distance-between-two-surfaces-with-coordinate-break-1575 ZPL オペランド:座標ブレーク面を使用した2つ面の最小距離の取得目的最適化プロセスでは、通常、2つのレンズの間に適切な距離を設定して、レンズが干渉しないようにする必要があります。しかし、現在のメリットファンクションのオペランドは、座標ブレーク面を使用したレンズをサポートしていません。解決策としては、ZPLMを使って、座標ブレーク面を持つ2つの面の間の最小距離を求めることが考えられます。使い方は以下の通りです。パラメータHx:面①の面番号。パラメータHy:面②の面番号Data=0: 面①のローカル z 軸に沿った 2 つ面の間の最小距離を取得します。Data=1:面①のローカル z 軸に沿った 2 つ面の間の最大距離を取得します。本ZPLMの制限事項1. 2つの間の最小距離とは、面①のローカルZ軸に沿った距離を意味します。本コードでは、グローバル座標面の基準を一時的に面①とし、計算後に元に戻すようにしています。2. 下図の黄色の重なっている部分のみを対象とし、範囲を超えた部分は対象外とします。範囲内では、100点を取って水平距離を計算し、最大値と最小値を求めます。 3.コードには光線追跡が使用されています。そのため、2つの面の間に屈折率の変化がないことを確認する必要があります。2つの面の間に屈折率の変化があるシステムの場合は、すべての材質を空気に変更してから光線追跡を行い、計算後に材質を元の設定に戻すというコードを追加することができます。 4.コードはx=0のyz平面で考えられています。つまり、z軸に沿った回転、y軸に沿った回転、x軸に沿ったディセンタは考慮されていません。より複雑な変換が必要な場合は、自分で

Badge winners

Show all badges