#include using namespace wfl; void main() { Start(); WaveField u0(2048, 2048, 0.5e-6); //サンプリング数2K2K,間隔0.5μmのフィールド u0.SetGaussian(0.25e-3, 50); //開口の生成 u0.ExactAsmProp(6e-3); //6mmの並進伝搬計算 u0.SaveAsWf("Parallel.wf"); //伝搬元フィールドの保存 RMatrix mat = CRMatrixY(45*DEG); //y軸周りに45度座標回転する変換行列 WaveField u1(2048, 2048, 0.5e-6); //伝搬先フィールド u1.Rotate(u0, mat); //回転変換の実行(キャリア位相は無視する) u1.SaveAsWf("Rotation.wf"); //伝搬先フィールドの保存 }