前一阵,个人兴趣搞了搞计算傅里叶光学,变了一个计算任意孔的衍射图样的程序,挺好玩的!本来还想整理一下,写篇论文,结果老板看做的不错,想让我转光学,我了个去,这岂不是要撞墙了,算了,不写论文了,把程序共享一下吧!
程序比较长,就不贴代码了(部分函数的头注释没写,不过稍微看看,就能看懂),只展示一下效果吧,运行Diffraction_System.m文件,显示如下图
空白区域点右键,可以弹出快捷菜单如下
在衍射屏中可以设置屏上孔的形状
矩形孔需要两个参数,圆孔需要一个参数,图片可以弹出选择图片对话框选择图片,正弦形光栅有3个参数,矩形光栅有4个,不过参数个数可以不用管,需要3个参数的,只设置一个参数,程序会自动生成另两个。当选择a,即选择图片时,弹出如下对话框选择图片
选择图片,即可计算任意图片的衍射图样。那个BlackScreen.jpg是一个模板,可以用绘图工具打开修改,然后另存为,然后显示它的衍射图样。
其他还有参数选择对话框,及gamma校正对话框
如得到如下结果
单击结果可以形成三维图,如
结果是不是很炫,很好玩!
程序本来想放到DBank网络硬盘,但貌似最近上传不上去啊,有需要程序联系我吧!