3、BRDF基础:双向反射分布函数的定义、物理意义、常见BRDF模型
聊杂散光,绕不开BRDF。这玩意儿说白了就是描述“一束光打到一个表面上,往各个方向反射了多少”的数学工具。我刚开始接触杂散光分析时,总觉得BRDF是个黑盒子,后来亲手测过几组数据,才真正理解它有多重要。
3.1 BRDF的定义
BRDF的全称是Bidirectional Reflectance Distribution Function,中文叫双向反射分布函数。名字挺长,但拆开看就清楚了:
- 双向:取决于入射方向和出射方向两个角度
- 反射:描述的是反射行为
- 分布函数:它是一个随角度变化的函数
数学上,BRDF的定义式是这样的:
f_r(θ_i, φ_i; θ_r, φ_r) = dL_r(θ_r, φ_r) / dE_i(θ_i, φ_i)
其中:
- dL_r 是反射方向的辐射亮度(单位:W·m⁻²·sr⁻¹)
- dE_i 是入射方向的辐射照度(单位:W·m⁻²)
- θ_i, φ_i 是入射天顶角和方位角
- θ_r, φ_r 是反射天顶角和方位角
单位是 sr⁻¹(每球面度)。嗯,这里要注意,BRDF的值可以非常大,也可以非常小,取决于表面的反射特性。
核心理解:BRDF描述的是“入射光能量”与“反射光亮度”之间的比例关系。它不是反射率,反射率是积分后的总量,而BRDF是微分后的分布。
3.2 物理意义
BRDF的物理意义,我习惯从三个层面去理解:
3.2.1 能量守恒
任何真实的BRDF都必须满足能量守恒。也就是说,所有反射方向上的能量加起来,不能超过入射能量。数学上表示为:
∫_Ω f_r(θ_i, φ_i; θ_r, φ_r) cos(θ_r) dΩ_r ≤ 1
等号成立时,表面是纯反射体,没有吸收。我在项目中遇到过一些商业软件提供的BRDF模型,算出来反射率超过1,那明显是模型参数设置有问题。
3.2.2 互易性
互易性是指交换入射和反射方向,BRDF的值不变:
f_r(θ_i, φ_i; θ_r, φ_r) = f_r(θ_r, φ_r; θ_i, φ_i)
这个性质在测量和仿真中非常有用。我曾经用这个性质来验证自己写的BRDF测量程序是否正确——把光源和探测器互换位置,看结果是否一致。
3.2.3 表面微观结构
BRDF的形状直接反映了表面的微观结构:
- 镜面反射峰:表面光滑,反射集中在镜面方向
- 漫反射平台:表面粗糙,反射在各个方向均匀
- 后向散射峰:表面有特殊结构,光沿入射方向返回
个人经验:判断一个表面是“光滑”还是“粗糙”,不能只看肉眼感觉。我测过一些看起来磨砂的塑料表面,BRDF镜面峰依然很明显。真正决定BRDF的是表面粗糙度与波长的比值。
3.3 常见BRDF模型
实际工程中,我们不可能每次都实测BRDF,太费时间了。所以就有了各种数学模型。我按使用频率排个序:
| 模型名称 | 适用场景 | 参数数量 | 计算速度 |
|---|---|---|---|
| Lambertian | 理想漫反射表面 | 1 | 极快 |
| Phong | 塑料、油漆表面 | 2 | 快 |
| Cook-Torrance | 金属表面 | 3-4 | 中等 |
| ABg | 杂散光分析标准模型 | 3 | 快 |
| Harvey-Shack | 抛光光学表面 | 2-3 | 快 |
3.3.1 Lambertian模型
最简单的模型,BRDF是一个常数:
f_r = ρ_d / π
其中ρ_d是漫反射率。这个模型假设表面在各个方向反射相同。说实话,真实世界几乎没有完美的Lambertian表面,但作为近似,很多黑漆、粗糙表面可以用它。
3.3.2 Phong模型
在Lambertian基础上加了一个镜面峰:
f_r = k_d / π + k_s * (cos(α))^n / (cos(θ_r))
其中α是反射方向与镜面方向的夹角,n控制镜面峰的宽度。n越大,镜面峰越窄。我早期做杂散光仿真时,经常用Phong模型来拟合实测数据,效果还不错。
3.3.3 ABg模型
这是杂散光分析中最常用的模型,也是很多商业软件的标配:
BRDF = A / (B + |β - β_0|^g)
其中:
- A:控制整体幅值
- B:控制拐点位置
- g:控制下降斜率
- β - β_0:反射方向与镜面方向的角度差的正弦
避坑指南:我曾经用ABg模型拟合一组实测数据,发现g值设得太大会导致BRDF在镜面方向附近变化过于剧烈,仿真时采样点不够就容易漏掉峰值。建议g值不要超过3,除非你确认表面确实有极窄的镜面峰。
3.3.4 Harvey-Shack模型
这个模型专门用于描述抛光光学表面的散射:
BRDF = b * (sin(θ) - sin(θ_0))^(-s)
其中b是幅值因子,s是斜率因子,θ_0是镜面方向。这个模型的好处是,它基于表面功率谱密度(PSD)理论,有明确的物理背景。
3.4 BRDF模型选择指南
我个人的选择原则是这样的:
- 先看表面类型:光学抛光面用Harvey-Shack,机械黑漆用ABg或Lambertian
- 再看精度要求:初步分析用简单模型,最终验证用实测数据拟合的模型
- 最后看计算资源:复杂模型虽然准,但光线追迹时间会成倍增加
一句话总结:BRDF是连接表面微观结构与宏观杂散光表现的桥梁。选对模型,杂散光分析就成功了一半。