光线模型
Optical Models for Direct Volume Rendering
1 光线纯吸收模型
假设一个截面积为$E$ 厚度为$\Delta_s$的圆柱体介质,由N个大小均等半径为$r$的小球颗粒组成,小球颗粒投影面积$A=\pi r^2$,单位体积的颗粒数量为$\rho$,则有$NA = \rho AE \Delta_s$,假设所有的光线打到小球颗粒上都被吸收没有反射与折射,光线在圆柱截面单位面积阻挡率为(不透明度)$\frac{NA}{E}= \rho A \Delta_s$。

当$\Delta_s$无限小时,可以认为小球颗粒没有重叠,沿圆柱厚度s积分,就可以得到微分方程 ,为了区分其它模型此处光强用$I_u$表示, 光通过截面$ds$被吸收量:
\[\frac{dI_u}{ds}=-\rho(s)AI_u(s)=- \tau(s)I_u(s) ----(1)\]微分方程含义:光线穿过厚度为$ds$截面,穿过该截面后的剩余光强$dI_u$,穿过该截面前的照射光强$I_u(s)$,颗粒在该截面的投影面积$\rho(s)A$,
解以上微分方程(1),具体参考“一阶线性非齐次微分方程”,可以得到:
\[I_u(s) = I_{u0} e^{-\int_0^s{\tau(t)dt}}----(2)\] \[T(s) =e^{-\int_0^s{\tau(t)dt}}\]方程(2)表明光线穿透介质厚度为$s$时的光强度,当$s$为$0$时, 即未被介质吸收, 光强为初始光强$I_{u0}$ ,T(s)可以表示为介质在s处透明度
2 光线纯发射模型
假设上述模型中的小球完全透明,不吸收光,但是可以反射光。单位投影面积上发光强度为$C$,则圆柱体截面总发光强度为$NCA = \rho CAE \Delta_s$,圆柱截面单位面积发光强度为$\frac{NCA}{E}= \rho CA \Delta_s$。当$\Delta_s$无限小时,可以得到微分方程,光强用$I_v$表示:
\[\frac{dI_v}{ds}=\rho(s)AC(s)=C(s) \tau(s) =g(s)----(3)\]微分方程含义:在厚度为$ds$的截面上的发光量为$dI_v$, 该截面上发光颗粒的面积$\rho(s)A$,单位颗粒面积发光强度$C(s)$ 解以上微分方程(3)可以得到:
\[I_v(s) = I_{v0} +\int_0^s{g(t)dt}----(4)\]3 吸收发射联合模型
综合(1)(3)得到联合模型微分方程:
\[\frac{dI}{ds}=\frac{d(I_u + I_v)}{ds}=g(s)- \tau(s)I_u(s)=g(s)- \tau(s)I(s)----(5)\]微分方程含义:考虑吸收和漫反射,强度为$I$的光线在穿透介质厚度为$ds$的截面后的光强为$dI$
无穷远处,全部路径积分到D距离,解微分方程得到:
\[I(D) =I_0e^{-\int_0^D{\tau(t)dt}} + \int_0^D{g(s)e^{-\int_s^D{\tau(x)dx}}ds}\] \[=I_0T(D) + \int_0^D{g(s)T^`(s)ds}----(6)\]其中
\[T(D) = e^{-\int_0^D{\tau(x)dx}}\] \[T^,(s) = e^{-\int_s^D{\tau(x)dx}}\]4 NeRF模型
经过像素上任意一点坐标O,发出的一条光线r,该方向传播了t的距离表示为$r(t)$。注意:传播距离的符号上面是用的s此处用的t
\[s=r(t)=o+td----(7)\]经过像素O点的射线传播到$r(t)$位置时的介质密度为$\sigma(r(t))$ (就是(1)中$\tau$换了符号),反射强度为$C(r(t))$
\[\sigma(r(t))=\tau(r(t))=\rho(r(t))A----(8)\]光线强度I在数字图像上表示为RGB值,用符号C表示,即$C=I$
代入公式(5)可以得到微分方程
\[\frac{dI}{ds}=\frac{dC}{d_{r(t)}}=g(r(t))- \tau(r(t))I(r(t))----(9)\]解微分方程(9)可以得到,积分到t距离的解为
\[C(t) = C_0T(D) + \int_0^t{C(r(t))\sigma(r(t))T^`(r(t))dt}----(10)\]从最近距离$tn$到最远距离$tf$积分,最远距离介质透明度$T(D) = 0$,就可以得到:
\[C(t) = \int_{tn}^{tf}{C(r(t))\sigma(r(t))T^,(r(t))dt} , T^,=e^{-\int_{tn}^{tf}{\sigma(r(x))dx}}----(11)\]即为原文中公式,对于$T^,$的表述原文为$\sigma(r(s)),d(s)$,为了不与我们前面用的$s$符号冲突,这里用$x$表示
最后离散化,由近到远将介质等距离分为N份:
\[t_i~~u[t_n+\frac{i-1}{N}(t_f-t_n)],t_n+\frac{i}{N}(t_f-t_n)----(12)\] \[\overset{\Lambda} C(r) = \overset{N} {\mathop{\sum}\limits_{i=1}} T_i(1-e^{-\sigma_i\delta_i})C_i ,T_i = e^{-\overset{i-1} {\mathop{\sum}\limits_{j=1}}\sigma_j\delta_j}----(13)\]