例えば、このように真ん中のレンズだけ回転させる場合・・・
偏心タイプを“普通”にして“アルファ回転”で回転させると・・・
では偏心タイプを他のものに変えたらどうでしょう。
“ディセンターアンドリターン”はその面だけ傾けることになります。
“普通”偏心は偏心光学系などのように光軸が途中で折れ曲がる光学系をモデリングするのに便利です。
“ディセンターアンドリターン”は面の中心軸と光軸が傾くような特殊な面や製造誤差をモデリングするのに有効です。
“ディセンターアンドベンド”は平面ミラーがモデルの途中にある場合使えます。
では、このレンズの回転を簡単に行いたい場合はどうしたらいいのでしょうか? もっと直感的に1枚のレンズだけを回転させることはできないのでしょうか? これが今回、攻略すべきポイントです。
そんな時は、グローバル偏心に変換するマクロ“MAKEGLBS.seq”が便利です。早速レンズ1枚を回転させてみましょう。
MAKEGLBSマクロの各パラメータを設定します。
Beginning surface of rangeとLast surface of rangeに5、つまり回転させたいレンズのすぐ後ろの面の番号を指定します。
Global reference surfaceには1、つまり基準面を指定します。
そしてOKをクリックするだけです。
コマンドではIN CV_MACRO:makeglbs 5 5 1となります。
光学系の一部のエレメントのみをティルトさせる方法が、FAQに紹介されています。
※FAQを閲覧するには、ログインアカウントとパスワードが必要です。
ユーザー登録がお済みでない方は、こちらから登録して下さい。
ではどうすればいいでしょう?
こんなときもMAKEGLBSマクロを使ってください。
まず15面を4面基準のグローバル偏心に変換します。
IN CV_MACRO:makeglbs 15 15 4
続いて7面を1面基準のグローバル偏心に変換します。
IN CV_MACRO:makeglbs 7 7 1
さらに17面も1面基準のグローバル偏心に変換します。
IN CV_MACRO:makeglbs 17 17 1
第4面を偏心させると簡単にプリズムだけ回転できます。
試しにプリズムを3度傾けて、ビネッティングを再設定すると・・・
まず、ヘッダー情報、GUIダイアログのための記述があります。
次に、各引数のチェックが行われます。
ここからがマクロのコア部分です。
繰り返しますが、マクロは指定した範囲の面を指定した面を基準とする“グローバル座標”偏心に変換します。
まず、Global reference surfaceで指定した第2面のローカル座標系で、第5面のローカル座標原点のX/Y/Z座標位置とα/β/γ回転角度を調べています。
次に第2面を参照座標として第5面に“グローバル座標”偏心を設定しています。
同時に先ほど調べた第5面の第2面から見たずれ(X/Y/Z方向の平行移動とα/β/γ回転)を設定し、変換前の光学配置を保持します。
こうすることで第3面の“普通”偏心の影響を第4面で一旦閉じてしまいます。
つまり、第3面と第4面の一塊だけ他の面とは独立して偏心が利きます。
このような設定を施すと、第3面を普通偏心させても第4面までしか影響されず、第5面以降の配置は変化しません。
当然第2面を普通偏心させるとそれに併せて第5面以降は偏心します。
グローバル座標、グローバル偏心の概念について詳しく知りたい場合、FAQをご覧ください。
※FAQを閲覧するには、ログインアカウントとパスワードが必要です。
ユーザー登録がお済みでない方は、こちらから登録して下さい。
マクロプログラミングの中身に興味がある方は「機能別セミナー」をお勧めします。