本帖最后由 Falm 于 2023-4-14 09:38 编辑
1.二元面的程序到底是哪一个,该看什么,为什么这两个的附加参数不一样?
us_binary.dll 描述的是一个标准面(standard surface)附加一个binary衍射轮廓(偶次多项式表达),而二元面2是一个偶次非球面(even asphere)附加一个binary衍射轮廓,所以us_binary.dll 这边没有2th order term等偶次非球面系数。归一化半径norm radius = norm rad,最大项数表征设计需要的binary衍射轮廓偶次多项式的偶次项数量。
好像没有binary 2/3/4的自带c代码,但可以直接在 us_binary.dll 里添加非球面矢高即为binary 2 面型(3/4 就是在这基础上再分区)。
2.想要了解二元面光线在zemax里如何追迹,程序是如何推导出来的
可以参考手册。二元面光学即衍射光学在ZEMAX里的本质是附加了额外的光程差,光线偏折角度,用几何光学的方法近似模拟衍射光学元件。
可以理解为光学追迹到这个面的时候,先是根据标准面/偶次非球面计算光线的方向和坐标,然后ZEMEX根据输入的相位函数计算了相位微分(图1的公式),使得其传播角度进一步改变,并附加上衍射轮廓引入的额外的光程差,代表又经过了这个衍射轮廓。
binary衍射轮廓的相位函数如图2,这样计算每次只考虑一个衍射级次N,同时不考虑衍射效率。