对于非球面可能大家也是耳熟能详,无论是在光学设计过程中还是实际生活中,非球面无处不在,就连我们的眼镜片都是。但是对于光学设计者,首先触碰到的自然是下面,第一个图是单个球面镜对平行光进行会聚,存在较大的球差,光斑比较大;第二个图前表面采用了二次曲面,进行了优化设计,三级球差基本校正,光斑小于艾里斑。当然在实际设计中,这种简单的设计也就用在激光准直或者耦合上。
对于一些复杂的光学设计讲究则比较多了,非球面设置在什么面,设置在什么位置都对设计影响比较大。当然光学设计过程中,非球面的引入自然是根据当前系统像差和设计需要决定的。比如系统彗差,畸变等轴外像差比较大的时候,非球面这设置在离光阑比较远的位置,这也就是手机镜头后面几片镜子奇形怪状,而第一二片镜子还基本上是个透镜的原因。如果是为了校正系统的球差这类轴上像差,自然就是像上面图那种,非球面设置在离光阑较近的位置即可。
非球面在设计过程中有很多说道,这里也不可能完全讲清楚,玻璃非球面和塑料非球面,传统冷加工和模压铸造等都会影响设计。这里主要讲解一点,就是非球面设计中的K值如何控制,也就是ZEMAX中的conic值?
当然这种图网上或者教材中有很多说明,Z表示光轴方向的高度,c是面半径的倒数,k就是我们这里要研究的conic,r是半径方向的口径,是x和y坐标的平方和开根号,由于是旋转对称的,我们这里就仅仅研究x方向即可,这里我们控制变量法,研究同样的曲率半径下,不同的k值,其z值分布
clc;
x=-10:0.01:10;
c=0.1;
for k=-10000:100:0
z=c.*x.^2./(1+sqrt(1-(k+1).*c.^2.*x.^2));
plot(x,z)
hold on
end
hold on
for k=-100:10:0
z=c.*x.^2./(1+sqrt(1-(k+1).*c.^2.*x.^2));
plot(x,z)
hold on
end
hold on
for k=-10:1:0
z=c.*x.^2./(1+sqrt(1-(k+1).*c.^2.*x.^2));
plot(x,z)
hold on
end
axis equal
定义的面的口径是20mm,曲率为10mm,研究了K值从-10000到0,该表面的截面曲线分布,曲线从上往下就是k等于0到-10000的分布。
当k=0的时候,是个圆,这里解算的时候只计算了半圆,也就是第一条曲线(从上往下看)。另外,从这个图可以看出关键的一点,随着k值的绝对值的变大,截面曲线变得越来越平缓。是否有人在想一点,此时曲率半径不是10mm吗?怎么变成了平面?其实不难理解,从光学冷加工这方面说,此时要加工这样一个非球面,首先加工第一条截面曲线这样一个球面,然后去除红色部分,得到这个非球面,去除量非常的大。
是否有人在想,如果K值的绝对值继续变大,变到了无穷大,这不就是一个平面吗?那么接下来用如下这样一个程序实验以下即可:
clc;
x=-10:0.01:10;
c=0.1;
figure(3)
k=-inf;
z=c.*x.^2./(1+sqrt(1-(k+1).*c.^2.*x.^2));
plot(x,z)
hold on
z=0;
x=-10:10;
plot(x,z,'*')
axis equal
图中的直线就是曲率半径为10mm,k值为负无穷大时候的截面曲线,而*则是z=0这样一条直线,可以看出完全重合了,也就是说k值为负无穷大时候就是一个平面。那么我们在ZEMAX进行优化设计的过程中的处理方法就是,把conic值修改为0,把radius修改为infinity即可。这一点完全可以去ZEMAX上设计一个ZEMAX文件进行实验即可,其实对上面红色框中的圆锥曲线公式进行求极限也可以得到。
基本上到这里,把k值由0到负无穷说明白了,那么k值由0到正无穷呢?那么这里依旧用程序来演示,其实有没有这种预感,k值由0到负无穷变化,等同于把曲率半径加大了,那么有没有可能k值由0到正无穷变化,等同于把曲率半径减小呢?
clc;
x=-10:0.01:10;
c=0.1;
for k=0:100:10000
z=c.*x.^2./(1+sqrt(1-(k+1).*c.^2.*x.^2));
plot(x,z)
hold on
end
hold on
for k=0:10:100
z=c.*x.^2./(1+sqrt(1-(k+1).*c.^2.*x.^2));
plot(x,z)
hold on
end
hold on
for k=0:1:10
z=c.*x.^2./(1+sqrt(1-(k+1).*c.^2.*x.^2));
plot(x,z)
hold on
end
axis equal
绘制的图形如下所示,一切如预想所示,k值在增大,等同于曲率半径再减小,每条曲线的横线是因为口径固定,曲率半径过小,所以会出现,这个在ZEMAX设计过程中大家应该是经常遇到的。
另外,此时k值由0向无穷大变化,曲线是由下向上的,即按照上面那种去除量加工的思维,岂不是要在k等于0那个球面上添加材料?当然不是,这里有一个最佳拟合球面的最佳去除球面的概念,这里就不扩展了。但是有一点可以说,k值往正方形走,无论是设计还是加工都不是一个好的选择,所以经常有朋友说k值控制在0到-10之间比较好,选择负方向,这个是个正确的方向,-10依据可能是光学冷加工把。