介绍
这是的姊妹篇。两篇文章可一起阅读。
zernike数据表示光学系统在特定场和波长下的性能测量。因为关于玻璃、曲率半径、非球面系数等的信息。不是 zernike 数据的一部分,无法将 zernike 数据缩放到不同的场或波长。
如果您使用的是全反射设计,则可以使用zernike标准凹陷表面来描述给定视场下所有波长的光学系统像差,因为全反射系统不会遭受色差。
约洛望远镜示例
例如,考虑类似yolo望远镜的:
这个没有遮挡的望远镜产生这样的波前:
现在,要使用 zernike 下垂曲面制作等效系统,我们只需要出口瞳孔位置和直径,如上一篇文章所示。此数据是:
出瞳直径 = 701.681 mm 出瞳位置 = 9484.22 mm
仍然遵循上一篇文章,可以产生如下一阶等效系统:
其中,系统的入射瞳孔直径设置为原始yolo的出射瞳孔直径,近轴透镜的焦距设置为与出射瞳孔位置相同的值。这为我们提供了一个与原始参考球体半径相同的一阶系统。
然后,我们以下垂为单位导出 zernike 数据。执行此操作的宏类似于原始文章中提供的宏,但添加了额外的缩放因子:
sub get_scale
! get the conversion factor to take phase to sag in mm
! assume mm for all lens units: will need to modify if not the case
! get the wavelength, in microns
primary = wavl(pwav())
! to mm…primary =
primary/1000
! scale factor is one wavelength equals this much sag
! factor of two because the surface is used in reflection
scale = -1 * primary/2
return
然后用于在保存到磁盘之前将 zernike 数据缩放为下垂单位:
for order = 1, max_order, 1
z_term = order 8 # offset to the correct location in the data structure, see help files!
print vec1(z_term)*scale
next order
然后使用导入工具将 zernike 数据导入到 zernike 标准凹陷表面,可以看到相同的波前误差和其他光线追踪结果:
原始文件和 zernike 等效文件都在附件中。如果添加更多波长,您将看到两个文件在任何波长下都给出相同的结果。然而,详细的透射和其他偏振数据将不等效,因为zernike文件对原始文件中使用的涂层一无所知,并且仍然没有办法预测望远镜的行为将如何随场变化:仍然需要一组每个场的zernike系数。