看到图中车灯发出的光束,你的第一反应是不是:镜头脏了,该擦擦了?
这种从光源中心向外辐射的亮线叫做星芒,大家对此或许并不陌生。用手机拍摄路灯、车灯时,照片中经常出现类似的效果。
用手抹镜头实际是人为制造了镜头表面的不规则划痕或油膜,这些物理痕迹会改变光线通过镜头时的折射路径,相当于在镜头前添加了“简易衍射光栅”。
你还可以做一个小实验;找一个点光源,用手从上到下抹一抹手机镜头,你就能拍到水平方向延展的星芒;从左往右抹一抹手机镜头,你就能获得竖直方向的星芒。
要想搞明白它的形成原理,我们不妨从光的本性和一场“赌约”说起。
光:粒子还是波?
在经典物理学中,光的本质是一种电磁波。然而,在我们的日常生活中,光作为一种“波”的特性几乎不会被我们纳入考虑范围。相较于被摄物体和镜头等光学器件,可见光的波长(约为 400-700 纳米)要小得多,因此光可以被近似视为沿直线传播的“光线”。小孔成像便是光直线传播最好的例证,这也是早期照相机成像的基本原理。
小孔成像(图片来源:清华大学出版社)
但是光的本性可不止停留在光线的层次这么简单。17 世纪初,人们对光的理解分为两派。
一派是微粒说,这一派的祖师爷是大名鼎鼎的牛顿。他认为光是由无数个微小、坚硬、跑得飞快的“粒子”组成的。
另一派是波动说,认为光是在空间中振动的波,具有振幅、相位、周期等一切波的特征,波与波之间可以叠加。
光的粒子说(左)和波动说(图片来源:BYJU)
起初,光的微粒说更广为人接受。举个例子,就像球碰到墙壁会反弹一样,如果光是粒子,那么“光子弹”打到镜子上,也会以相似的角度反弹回来,这就是光的反射定律。因为微粒说直观易懂,而且能有效地解释诸多光学现象,所以在牛顿提出之后,它统治了物理学界将近 100 年。
然而,后来物理学家发现,光还能呈现出一些波的特性,挑战了微粒说,其中一个重要性质就是衍射。
简单来说,衍射就是波在传播过程中,遇到障碍物或孔洞时,会绕过障碍物的边缘或穿过孔洞,并向四周扩散,而不是简单地沿直线传播。声波、水波等所有波都具有这种特性,例如水波就能在遇到障碍物后,绕过障碍继续传播。
波的衍射示意图
现在,想象一束光射向一个非常细的缝隙,如果光只按直线传播,我们应该在缝隙正后方看到一条清晰的亮线。但实际上,你会观察到光线会向两侧展开,形成一个更宽的光斑,甚至出现亮暗相间的条纹。这就是光的衍射现象。
光的赌约
关于光的衍射特性,必须要提到一场著名的“赌约”。1818 年,法国科学院举办了一场竞赛,题目是证明光传播的特性,以揭示光的本质。土木工程师菲涅尔参加了竞赛,并提交了论文,主张光是一种波。竞赛的评委之一是泊松,他是光的粒子说的支持者,所以想尽办法来找菲涅尔理论的麻烦。
泊松提出了一个和小孔成像非常类似的情形,只不过把装置反了过来:在光线传播的路径上,有一个极小的圆形遮挡物挡住了光。按照我们的直觉,光在后面的屏成像时,一定是被遮挡的中心“最黑”。而泊松却证明,按照菲涅尔的理论,被遮挡的中心反而是一个亮斑,违背了人们的常识,由此来反对光的波动说。
泊松设想的实验布置示意图(图片来源:Wikipedia)
结果,光学史上最著名的“搬起石头砸自己脚”的实验诞生了。实验由竞赛组织者阿拉戈进行,他让蜡烛发出的光经过贴在玻璃板上的 2mm 的金属磁盘,最后在后方屏幕观察到了亮斑,证明了光的波动性。尽管是误打误撞,但科学界还是将美誉留给了泊松,这一亮斑后来被称为泊松亮斑。
泊松亮斑示意图(图片来源:Wikipedia)
衍射和星芒
光在遇到任何有边界的遮挡物时,都会发生衍射,形成各种各样的图案。泊松光斑就是一种典型的圆屏衍射现象。而我们的手机相机所拍下的星芒,也正是源于光的衍射。
相机中有一个结构叫做光阑,是光学系统中限制光束通过范围的物理元件,起到控制成像亮度、改变景深等作用。为了方便调节大小,光阑通常不会是完美的圆形,而是由多个叶片拼接而成。入射的光在通过光阑时,衍射现象在尖锐的角的地方变得极其剧烈,会以角为中心向垂直方向强烈衍射,形成一条长长的、亮晶晶的光带。你的光圈有几个角,就会产生几组这样的衍射光带。
这些从不同角衍射出来的光带组合在一起,就形成了我们看到的星芒。因此,星芒还有个名字,叫作衍射尖峰。
相机的光阑用于控制进光量(图片来源:iBuider)
当光阑分别是正四边形、正五边形、圆形等形状时,衍射光斑会呈现出不同的图样。我们还可以发现一个规律:叶片数为偶数,星芒数和叶片数保持一致;叶片数为奇数,星芒数则为叶片数的两倍。这是因为边缘上发生的衍射是同时向两侧发散的,偶数叶片两侧的衍射尖峰正好对齐,而奇数叶片的衍射尖峰在两侧不会完全重叠,数量就是叶片数的两倍。
不同光阑的衍射图案(图片来源:Wikipedia)
下图拍摄的是夜幕下的路灯,根据照片中星芒的数量,甚至可以大致反推出相机的光阑叶片数。
呈现星芒的路灯(图片来源:veer 图库)
照片里的星芒
了解光的衍射现象以及光阑的基本结构,我们终于可以解释,为什么手机镜头被手指触碰后,拍出的照片会出现明显的星芒现象:这是因为手指上的油污等杂质会沿指纹形成多个类似狭缝的结构,当光线通过这些“污点”时,会产生额外的衍射和散射,从而在照片中呈现出星芒或光晕。
特别地,如果指纹划成了几道直线,那每一道线就像一道小栅栏。光穿过时,会被栅栏分成好几束,在成像平面上形成几条放射状的光线,这就是我们看到的星芒。星芒的角度和光栅的角度有一一对应的关系,因此我们能看到文章开头视频所呈现出的效果。
沾上指纹的相机镜头(图片来源:CNET)
根据这一原理,摄影行业还专门设计了一种星光镜。在星光镜的玻璃表面涂层下,会有一层非常细的平行或交叉的刻痕或沟槽。这些沟槽就像一条条狭缝,当强光(如路灯、太阳)透过这些狭缝时,就会发生衍射现象。每条狭缝把光分裂成多束,并在远处(感光面)互相叠加,形成一系列同心且方向固定的光线。如果只有一组平行刻痕,就会出现两束对称的星芒,而如果是两组互相垂直的刻痕,就会出现八射线星芒等等。
星光镜和内部结构的示意图
现在,我们已经知道了如何产生星芒,如果不希望有星芒效应出现时,就可以采取以下方法:首先应尽量使用大光圈(这也是手机摄影的根本限制之一),减少光阑的衍射效应;其次可以调整拍照方向,避免强光直射镜头;还可以使用遮光罩等设备,阻挡部分光线进入;当然对于手机来说,最重要的就是注意清洁镜头,确保没有灰尘,指纹,划痕等其他污渍。
清理镜头表面脏污后,照片中的光束消失(图片来源:Xiaomi)
所以,下次再遇到文章开头那张图,擦一擦镜头,确实没错~