基于Unity的激光全息法制作微结构的虚拟仿真实验开发

2019-04-03 08:18梁文耀
物理实验 2019年3期
关键词:微结构晶格偏振

梁文耀,刘 基

(华南理工大学 物理与光电学院,广东 广州 510641)

虚拟仿真实验教学是利用现代信息技术,将完整的实验教学项目,转化为线上线下教学相结合的个性化、智能化、开放化的新型信息化实验教学模式. 现代信息技术与实验教学项目的深度融合,将有效拓展实验教学内容的广度和深度,延伸实验教学时间和空间,提升实验教学质量和水平. 现代物理实验具有操作性强、可计算、可检验的特点,通过选择合适的实验内容开发虚拟仿真实验用于教学,在教学过程中注重知识传授、动手能力和创新思维的培养,能够调动学生参与实验教学的积极性和主动性,增强学生的动手能力和创新能力,有力促进物理实验教学和物理研究的现代化改革[1].

国内外在虚拟仿真实验方面取得了重要进展. 美国高校的虚拟仿真实验系统开发较早,成果显著,已被应用于实验教学并且发挥着重要作用. 休斯顿大学的“虚拟物理实验室”系统,在实验建模、实验环境仿真程度等方面独树一帜[2];卡罗莱纳州立大学的Learn Anytime Anywhere Physics(LAAP)探究式虚拟物理实验系统可随时随地开展虚拟仿真实验[3]. 国内在物理虚拟仿真实验系统的构建与开发方面也取得不错的进展,如浙江大学建设了基于LabVIEW的自动控制仿真实验系统[4];上海交通大学实验中心数据采集实验室,已经形成了虚拟实验网络化;中国科学技术大学开发了大学物理仿真实验软件、虚拟仿真高危核物理实验等系统[5];华南理工大学近年来也开展了大学物理实验虚拟仿真的初步建设,取得了较好的成果[6]. 我国高校虚拟仿真实验教学建设仍存在以下典型问题:第一,虚拟仿真实验室的发展在一定程度上受到传统实验教学模式的局限,未能充分发挥效益;第二,已有虚拟仿真实验多数采用Matlab、Flash交互、C++编程和OpenGL技术[7-8],其开发效率不高且编程建立的模型精度较低,无法快速开发和带来较好的视觉效果,交互性不够强且不能实时地反馈信息,制约了虚拟仿真实验教学潜能的发挥.

文献[9]将多光束激光全息制作光子晶体微结构实验引入近代物理实验教学[9],其原理是利用多束相干光在会聚区域产生干涉图案作为模板,进而通过光与物质相互作用形成折射率空间周期变化的二维或三维结构. 通过改变光束波矢差和光束之间的夹角,能够产生丰富的周期微结构图样[10-12]. 由于实验仪器所限,要研究更复杂的微结构,例如二维复式结构、三维周期微结构等,需要搭建更复杂的光路和大量实验资金投入,难以有效进行. 通过开发虚拟仿真实验可有效解决这一问题.

本文以多光束激光全息制作光子晶体微结构实验为对象,采用Unity游戏引擎,配合SolidWorks等3D建模软件[13-15],快速开发可还原实验室场景、实验操作和实验现象的虚拟仿真实验平台. 学生通过该平台可灵活搭建虚拟实验光路,进行实验数据拓展分析,快速掌握多光束激光干涉法在各种维度微结构制作方面的实验原理、设计思想和实验方法.

1 多光束激光全息法基本原理

本实验涉及大学物理、固体物理等知识,其中多光束干涉原理是激光全息法制作周期微结构的物理基础. 激光具有高相干性、高偏振度等特性,通常被选为实验光源,利用单色平面波近似,设有同频率的N束光干涉,其中第j束光的参量包括波矢kj、电矢量Ej(含振幅E和偏振方向ej)和初相位δj. 则N束光干涉的光强分布表达式为[16]

exp [i(ki-kj)·r+(δi-δj)]=

(1)

其中Gij=ki-kj为波矢差,δij=δi-δj为初相位差. (1)式表明干涉结果具有周期性,可用于制作周期微结构. 各束光的波矢差与倒格矢存在对应关系,Gij可等效为倒空间矢量bi(i=1,2,…),从而产生一、二、三维周期微结构. 例如二维晶格共 有4种类型(参量见表1), 需要3束非共面激光参加干涉(计算机仿真结果见图1),三维可类似研究.

表1 二维微结构的4种晶格类型(a和b为基矢长度,γ为基矢a和b的夹角)

(a)斜方晶格 (b)矩形晶格

(c)三角晶格 (d)正方晶格图1 4种二维微结构仿真实例

2 虚拟仿真实验开发

2.1 实验室环境和仪器模型制作

虚拟仿真实验是利用虚拟的实验仪器模拟实验操作的过程,因此实验仪器的还原程度将决定仿真程序的最终效果. 传统的实现方法是采用OpenGL和GDI图形编程,利用编程构造图形的点线面. 这种办法实现过程极为繁琐而且模型精度较低,无法满足对模型精细程度和显示效果的要求,并且难于与Unity完成对接. 本文中提出使用多个CAD软件设计实验仪器模型和实验环境,使用Solidworks设计仪器的基础模型,使用3dsMax对模型进行优化和UV展开,使用材质绘制软件Substance Painter进行模型贴图,以工业设计为基础配合专业美工软件高精度还原实验模型,并得到了理想的效果,结果如图2所示.

2.2 激光器算法

结合真实实验所采用的532 nm半导体激光器,从激光器的本质和性质出发完成算法. 激光器发射一定频率的激光,选择算法时应考虑激光的频率特性. 激光器发出的激光入射和离开反射镜、分束镜等光具座时分别发生相应的物理现象,是自动和再生的过程. 采用递归算法,模拟发射具有一定频率的激光束,自动识别入射的光具座,并根据光具座的性质,产生同样具有递归性质的新激光束;从而使每束模拟激光都具有独立但继承其原有激光束的激光特性,能够随着使用者加入的仪器自动演算后续的光路现象,结果见图3.

(a)SolidWorks设计的显微物镜基础模型

(b)Substance Painter对模型进行渲染贴图

(c)虚拟仿真实验中的实际效果图2 实验室环境和仪器模型

为了计算N束光的干涉图像,还需定义每束光的光强I和偏振方向Ej. 光线通过中性分束镜后,透射光和反射光的光强均为入射前的一半. 光线通过起偏器后,光线的光强和偏振方向变化遵循马吕斯定律. 代码采用C#语言进行编写,下面是激光器算法的伪代码:

算法 1 激光器输入:D: 激光初始方向S:激光发射起点I: 激光初始光强Ej:激光初始偏振方向输出:Laser(D,S,I,Ej)1. 以S为起点D为方向发射射线2. if(射线的碰撞体为反射镜)3. then 获取碰撞点h,计算反射方向f,Laser(f,h,I,Ej)4. else if(射线的碰撞体为分束镜)5. then 获取碰撞点h,计算反射方向f, 反射光Laser(f,h,0.5I,Ej), 透射光Laser(D,h,0.5I,Ej)6. else if(射线的碰撞体为偏振片)7. then 获取碰撞点h, 获取偏振片方向a,计算光强i=cos2 (a-Ej) 透射光Laser(D,h,i,a)8. else if(…)9. …10. end

图3 激光器算法:自动形成光路

2.3 干涉算法

在多光束激光全息法制作微结构实验中,干涉图案经显微物镜放大后由CMOS相机采集图像传输到技术进行观察. 需要根据多光束干涉的原理编写算法计算干涉图像. 为了简化运算和便于后续分析偏振的影响,设有同频率的N束光干涉,以椭圆偏振光形式描述各束光的偏振,将振幅Ej分解为相位相差π/2、振动方向相互垂直的2个线偏振光,与椭圆长短轴对应的振幅Eja和Ejb,即

Ej=Eja+Ejb=Ejaexp [i(kj·r)]eja+

则N束光非共面干涉光在会聚区域的空间光强分布I(r)为

(3)

由于在虚拟仿真程序中,激光光束的位置、方向、角度等比较容易获得,使用(3)式即可计算得到干涉图像. 代码采用C#语言编写,下面是3束激光干涉产生光强分布为I(M,N)干涉图像的伪代码,图4和图5分别为3束光干涉产生三角晶格、正方晶格的光束配置图和相应的虚拟仿真结果.

算法 2 激光干涉输入:激光光束A,B,C和干涉点D输出:Interfere(A,B,C,D)1. 由A,B,C,D计算每束光2个线偏振光振幅Eaj、Ebj,以及对应的偏振矢量eaj、ebj2. 计算三束激光的波矢kj3. for(i=0;i

(a) 光束配置图 (b) 虚拟仿真演示结果 (c) 实验结果图4 三角晶格

(a) 光束配置图 (b) 虚拟仿真演示结果 (c) 实验结果图5 正方晶格

3 虚拟仿真实验演示

使用Unity开发多光束激光全息法制作周期微结构的虚拟仿真实验完成后,可以发布成exe可执行程序,方便学生使用,也可发布成WebGL程序部署到网站上,学生可随时随地访问网站,进行在线操作完成虚拟仿真实验.

打开虚拟仿真实验的exe或WebGL程序后,可看到由虚拟实验室环境、操作栏以及提示栏组成的界面. 操作栏可完成查看使用说明、实验介绍、实验步骤、实验结果、处理要求和添加仪器的功能. 提示栏对实验步骤进行提示,帮助学生完成实验. 虚拟仿真实验程序还提供了实验安全警告(图6)和开放性实验等功能(图7),可进一步强化学生的实验安全意识和满足学生自主探究实验的需求.

图6 打开激光器后的实验安全警告

图7 添加偏振片探究偏振对晶格形状的影响

在仿真实验系统交互性方面,利用三维实验场景的特性,设计了使用鼠标对虚拟仪器进行点击、拖拽的仪器交互逻辑. 对于仪器中的按钮、旋钮等一次性操作部件,使用鼠标点击即可触发相应功能,如光具座的磁力开关,鼠标点击即可控制光具座的磁力锁定状态;对于移动仪器、调节部件高度和角度等连续性操作,采用鼠标直接拖拽仪器或零部件位移到相应状态,如可通过鼠标拖拽光具部分上下移动进行高度调节,左右移动进行旋转调节;对于刻度和角度精细调节等操作,采用鼠标滚轮的方式控制,可重复相同精度的细微操作,如使用鼠标滚轮对偏振片偏振方向可精确到度进行调节. 总体而言,从实验操作和使用者角度出发,整套虚拟仿真系统的仪器交互逻辑满足仿真实验的各种操作需求和简单易用性,同时操作可立即反馈为实验参量影响实验结果,学生可根据自己的“直觉”进行操作.

下面讨论如何在该仿真系统的干涉结果基础上进一步开展微结构实验. 完成虚拟仿真实验后,可获得包含虚拟干涉图像、实验参量和晶格常量理论值. 根据虚拟仿真演示结果,学生可根据获得的实验参量在光学实验平台上搭建真实的实验光路,验证虚拟仿真结果的正确性. 因此,虚拟仿真实验可作为真实实验的预实验,加强学生对实验的理解和提高实验效率. 图4(c)和图5(c)为根据图4(b)和图5(b)的虚拟仿真得到的实验参量,并结合图4(a)和图5(a)图光束配置图,搭建实验光路得到的实验结果,与虚拟仿真结果吻合得很好,这表明该虚拟仿真系统完全可用于进行预习和熟悉仪器操作,对实体实验的开展具有指导意义,特别有利于提高实验效果和教学效果.

4 结束语

坚持以学生为中心的教学理念,基于多光束激光全息法制作微结构实验,采用Unity,SolidWorks,3dsMax,Substance Painter等软件,开发出可还原实验室场景、实验操作和实验现象的虚拟仿真实验平台,具有形象、高效、实验成本低和开放性强等独特的优点. 这不仅有利于学生提升对物理实验的浓厚兴趣,而且有助于培养主动探究科学问题的创新能力,促进物理实验教学的现代化改革. 目前该虚拟实验系统已具备任意设计和搭建虚拟光路产生一维、二维周期微结构,这为开展实体和虚拟实验融合教学奠定了基础,今后将继续探索产生三维、复式等更加复杂微结构的干涉算法,进一步完善该虚拟仿真系统.

猜你喜欢
微结构晶格偏振
三角形光晶格中的量子液滴
Ho:LLF激光器单纵模正交偏振开关动力学特性
长期施肥对华北农田褐土团聚体微结构与稳定性的影响
极性补偿对LaMnO3/LaNiO3 超晶格交换偏置场强度的影响*
Lieb莫尔光子晶格及其光子学特性研究
首个使用偏振的 超快光处理器面世
基于模糊逻辑的双偏振天气雷达地物杂波识别算法
美国X射线偏振测量天文台特点分析
张云熙作品选
钢球展开轮表面微结构几何参数优化研究