概要 本文介绍了OpticStudio如何定义网格矢高(Grid Sag)面型并展示了如何正确输入网格矢高数据。 介绍 Grid Sag面型是基于一些基础面型并通过在这些面型上添加矩形相对矢高阵列来定义的,这些基础面型包括平面、球面、圆锥非球面、多项式非球面或泽尼克非球面。通过网格点阵定义的矢高值可相对于基础非球面矢高存在一定偏心。表面形状是通过对网格矢高参数进行线性插值或双三次样条插值拟合来定义的。有关矢高定义的更多信息,请参考帮助文档“网格矢高(Grid Sag)”。 输入网格数据 网格点的所有数据必须在OpticStudio之外进行制表和计算,其数据格式必须存储在特定格式的文件中,并在表面属性中的导入(Import)菜单栏中加载这个文件才能正确导入网格矢高面。OpticStudio读取的文件数据格式为:
其中第一行包含七个参数,其中nx和ny(整数)为每个方向上网格点的数量且nx和ny必须大于等于5;unitflag为数据的单位,0表示毫米,1表示厘米,2表示英寸,3表示米;delx和dely(浮点数)为网格点阵在x和y方向上的间距;xdec和ydec(浮点数)为坐标偏移量(可选项)。 剩下的nx*ny行的数据每行都包括四个浮点数和一个整数(可选项)。其中四个浮点数分别为Z矢高;矢高在X方向的导数;矢高在Y方向的导数;矢高的交叉导数d/dxdy。第五个可选数据nodata用来表示之前的数据是否有效,0或空行表示有效的数据,其他整数表示无效数据。当nodata为其他时,整行的数据将被替换为0,并且计算只考虑基础面的矢高值。如果输入的数据不是数字,则系统默认将该数据替换为零。 第一行的数据对应网格中左上角的点(沿-Z轴方向看去),即-X和+Y点。随后的数据将从左至右定义这一行的点。定义完一行以后,将顺次定义下一行(ny-1)的点直到所有的点都被定义。数据必须存储为ASCII格式并且以.DAT为扩展名(如果用于非序列模式,则扩展名为.GRD)。 各项导数值用于双三次样条曲线插值算法中,用作不同矢高数据点之间的平滑处理。线性插值算法不会使用这些参数。如果所有导数值(dz/dx,dz/dy,d2z/dxdy)为零或没有输入,则OpticStudio将使用有线差分算法(Finite difference method)自动评估导数。 本文使用的示例文件SAG.DAT,数据格式如下图所示:
|