光线追迹基础:光线分裂、光线散射、光线吸收、光线偏振
各位同学,今天我们来聊聊非序列光线追迹里最核心的几个物理过程。说实话,我刚入行那会儿,觉得光线追迹不就是一条线射过去嘛,能有多复杂?直到我接手第一个LED准直透镜项目,才发现事情远没那么简单。
在非序列模式下,光线遇到光学面可不是「撞上就反射或折射」这么简单。它会分裂、会散射、会被吸收,甚至还会改变偏振态。这些效应,你忽略任何一个,仿真结果都可能跟实测差出十万八千里。
光线分裂:一条光线变成多条
什么叫光线分裂?说白了,就是一条入射光线打到某个表面上,同时产生了反射光线和透射光线。在序列模式里,光线只能走一条路;但在非序列模式里,它会同时产生多条子光线。
我记得有一次做分光棱镜的仿真,客户要求分析50:50的分光比。我一开始用序列模式,结果怎么调都跟实测对不上。后来换成非序列模式,把光线分裂打开,一下子就准了。为什么?因为序列模式只算一条路径,而非序列模式把反射和透射两条路径都算进去了。
在Zemax OpticStudio里,控制光线分裂的参数是Split Rays和Scatter Rays。我个人习惯把Split Rays设为On,除非我明确知道某个表面不会产生分裂(比如理想吸收面)。
; 非序列模式下开启光线分裂的示例设置
Object 1: 分光棱镜
Material: N-BK7
Split Rays: On
Scatter Rays: On
Number Of Split: 2 ; 每条入射光线最多产生2条子光线
Number Of Split的值。一般设为2-3就够用了,设太大反而容易让光线数量爆炸。
光线散射:表面粗糙度带来的麻烦
光线散射,嗯,这是个让人又爱又恨的东西。爱的是,没有散射我们就看不到漫反射物体;恨的是,它会让你的仿真变得异常复杂。
散射的本质是什么?是表面微观结构让光线往各个方向乱跑。你想想看,一个理想镜面,入射角等于反射角,干干净净。但实际加工出来的表面,总会有粗糙度,光线就会散开。
我在项目中遇到过最头疼的一次,是设计一个背光模组的导光板。导光板底部有微结构,光线打上去会散射。我一开始用朗伯散射模型,结果亮度分布完全不对。后来换成ABg散射模型,把散射参数调了整整两天,才跟实测吻合。
| 散射模型 | 适用场景 | 我的经验 |
|---|---|---|
| 朗伯散射 | 理想漫反射表面 | 简单但太理想化,实测往往有偏差 |
| 高斯散射 | 抛光表面、轻微粗糙 | 适合镜面反射为主的表面 |
| ABg散射 | 工程表面、微结构 | 参数多但最灵活,我常用这个 |
| BSDF测量数据 | 精确仿真 | 如果有实测数据,这是最准的 |
光线吸收:能量守恒的最后一道关
光线吸收,说白了就是能量被材料「吃」掉了。在非序列追迹里,吸收不是简单的「光线消失」,而是能量逐渐衰减的过程。
为什么会这样?因为光线在介质中传播时,每走一段距离,能量就会按指数规律衰减。这个规律叫比尔-朗伯定律:
I = I₀ × exp(-α × d)
其中:
I₀ = 初始光强
α = 吸收系数(单位:1/mm)
d = 传播距离(单位:mm)
我记得有一次做光纤耦合仿真,怎么算耦合效率都偏高。后来发现,我忘了设置光纤材料的吸收系数。实际的光纤虽然损耗很低,但几米长的距离累积下来,吸收效应不可忽略。加上吸收系数后,仿真结果就跟实测对上了。
在非序列模式里,吸收参数通常设置在材料属性里。比如玻璃材料,除了折射率和阿贝数,还有Coefficient of Absorption这个参数。我建议你养成一个好习惯:每次新建材料,都去查一下它的吸收系数,哪怕很小也要填上。
光线偏振:被很多人忽略的关键因素
光线偏振,嗯,这个知识点我敢说,至少有一半的光学工程师在仿真时会忽略它。但如果你做的是激光系统、液晶显示或者薄膜干涉,忽略偏振就等于白做。
偏振的本质是什么?是电场矢量的振动方向。自然光是无偏振的,但经过反射、折射或者通过偏振片后,就会变成线偏振、圆偏振或者椭圆偏振。
我在项目中遇到过最典型的例子,是设计一个激光扩束系统。激光本身就是线偏振光,经过几个反射镜后,偏振态发生了变化,导致最后的分光比完全不对。后来我在仿真里开启了偏振追迹,才发现问题出在反射镜的膜层上——不同偏振态的反射率不一样。
在Zemax里,开启偏振追迹的方法很简单:
; 开启偏振追迹
System Explorer → Ray Tracing → Use Polarization: On
; 设置光源偏振态
Source 1: 高斯光源
Polarization: Jones Vector
Jones Vector: (1, 0) ; 水平线偏振
最后说一句,这四个效应——分裂、散射、吸收、偏振——在非序列模式里往往是同时发生的。你想想看,一条光线打到粗糙表面上,它会分裂成反射和透射两条,每条都会发生散射,散射过程中能量被部分吸收,而且偏振态也会改变。这才是真实世界的物理过程。
嗯,今天就讲到这里。下一章我们会聊非序列模式的光源建模,包括各种光源类型和它们的设置技巧。到时候见。