辐射传输方程
Volume Rendering for Developers: Foundations (scratchapixel.com)
辐射传输方程¶
云、雾、浑浊的水等类似的介质可以散射光,换句话说,这些介质参与光的传输,故我们把此类介质称作 参与介质(participating media) 。
如果光在非真空中传播,我们有必要考虑环境中参与介质对光的传输的影响。如下图所示,狭窄(准直)光束穿过圆柱时,可以通过四种不同的方式与介质进行相互作用:
- 吸收(Absorption) :一些光被吸收转化成其他形式的能量,如热能。光束辐射强度降低。
- 发射(Emission) :气体在达到一定温度时会发射光。电子获得能量,以光子的形式释放出来。这些光子所取的方向是随机的,但最终其中一些将沿着光束的路径行进。光束辐射强度增加。
- 外散射(Out-scattering) :组成狭窄光束的光子朝向眼睛前进,但它们可能无法全部到达眼睛,因为其中一些会沿着另一个(随机的)方向散射开来。外部散射的光子不再在光束中,因此在这种情况下光束的辐射强度也会降低。
- 内散射(In-scattering) :散射也可能导致落在体积外的一些光被偏转到沿着我们光束的路径,使光束辐射强度增加。
上述物理现象在形式上可用如下的 辐射传输方程(Radiative Transfer Equation,RTE) 表示:
方程左侧是光线的辐射强度 \(L(\mathbf{x},\omega)\) 在 \(\mathbf{x}\) 点处沿 \(\mathbf{ω}\) 方向的变化量。右侧表示了各种物理作用对其的贡献,其中 \(\sigma_a(\cdot)\) 是吸收函数, \(\sigma_s(\cdot)\) 是散射函数,\(\sigma_t(\cdot)=\sigma_a(\cdot)+\sigma_s(\cdot)\) 是消光函数; \(L_e(\mathbf{x},\omega)\) 是在 \(\mathbf{x}\) 点处的粒子沿 \(\mathbf{ω}\) 方向发射的辐射强度; \(L_s(\mathbf{x},\omega)\) 是在 \(\mathbf{x}\) 点处的粒子接收到的来自四面八方的总辐射强度,其计算式如下,其中 \(p(\cdot)\) 是内散射的相函数(Phase function),它描述的是介质中某个点的散射在各个立体角方向上的分布情况。
为什么吸收项与发射项的系数相同
在辐射传输中,光线穿过介质时会与介质中的分子或原子相互作用。这个相互作用可以导致光子被吸收或发射。吸收和发射的过程是量子力学中的基本过程,它们的概率同时受到介质中分子或原子的能级结构的影响。 在量子力学的框架下,吸收和发射是对称的过程,即一个分子或原子吸收光子的概率和它发射光子的概率是相等的。因此,在一般情况下,辐射传输方程中的吸收和发射项系数是相等的。 当然,在某些特殊情况下,如非平衡态介质中,吸收和发射的过程可能不再是对称的,这时吸收项和发射项的系数就会有所不同。类似的,内散射项与外散射项系数也是相同的。
体渲染方程¶
体渲染的示意图如下,可以看出,体渲染方程是辐射传输方程在光照传输路径上的积分形式。
具体地,我们重新定义辐射函数为距离 \(s\) 的函数,即 \(L(\mathbf{x},\omega)\to L(s)\),原辐射传输方程表示为:
这是典型的一阶非齐次线性微分方程,形式为:
相应地,求解这个微分方程,就可以得到 体渲染方程 :
透射比
从辐射传输方程我们可以知道,入射光在经过介质 (粒子群) 后,辐射强度会衰减,且衰减速度与介质的性质有关。人们定义了透射比这个物理量来表征这一性质。具体地,透射比是介质入射光在入射点与出射点的辐射强度的比值。
根据透射比的定义,可以得到其表达式为
因此,我们得到了 最终的体渲染方程 为