#include using namespace wfl; void main() { Start(); WaveField a(256, 256, 2e-6); a.SetGaussian(0.1e-3, 50); a.SaveAsGrayBmp("Aperture.bmp", INTENSITY); //開口形状の保存 //===== 帯域制限角スペクトル法による伝搬計算 for (int i = 1; i <= 3; i++) { WaveField b = a; //オブジェクトbに開口aをコピーする double d = 10e-3 * i; //dは伝搬距離 b.AsmProp(d); //bを距離dだけ伝搬する char fname[80]; //伝搬距離を入れたファイル名を作成 sprintf(fname, "Diffraction-%d.bmp", (int)(d/1e-3)); b.Normalize(); b.SaveAsGrayBmp(fname, INTENSITY); //回折像(振幅像)の保存 } }