赞
踩
更新ing......
参考文章:
NeRF入门之体渲染 (Volume Rendering) - 知乎 (zhihu.com)
所谓体渲染,把气体等物质抽象成一团粒子群,光线在穿过这些粒子群时,光子和粒子发生碰撞的过程,然后我们来模拟这个过程
我们主要将碰撞过程分为四类:
1、absorption 吸收:光子被吸收,导致入射光的光强减弱
2、emission 放射:粒子本身还可以通过发射或者反射增强入射光的光强
3、out-scattering 外散射:光子撞击到粒子之后方向向外偏移,减弱光强
4、in-scattering 内散射:其他方向光子撞击到粒子之后,方向偏移到与当期方向光子重合,增强光强
四种情况如下图所示:
所以出射光减去入射光:△I = emission + in-scattering - out-scattering - absorption
接下来,我们分情况讨论四种不同的碰撞过程:
一、Absorption
我们首先假设粒子都是半径为r的球体,光子通过一个底面积为E,厚度(高度)为△s的内部为空心的圆柱体。且当前粒子在当前空间的密度为ρ。那么在当前假设的圆柱体中,有ρE△s个粒子,并且每个粒子的投影A = Πr^2。所以当前圆柱体中所有粒子加起来的投影面积为ρAE△s,而总的底面积为E,假设光子均匀分布,所以有ρAE△s/E = ρA△s的概率光子会被粒子吸收掉。
所以可以理解为出射光强 - 入射光强 = ρA△s * I(s); I(s)是一个关于s的函数,随着各个区域的不同光的强度也会改变。
那么由上述公式可得:△I = ρA△s * I(s)
即:
解这个方程得:
I0就是物理意义上入射光的光强;τ a(s) = ρA 指消光系数,也叫不透明度,指吸收光的系数、能力
这个公式告诉我们:如果粒子群是均匀的,即消光系数处处相等,那么光强会程指数式衰减。也就是:Beer-Lambert law 比尔朗伯吸收定律
我们由此定义了Transmittance(透射比):
可以从公式中看出消光系数(τ a(s))越大,透射比越低,那么遮住光线的概率就会很大,透明度就会下降。直观上说,消光系数 = ρA,所以粒子密度越大,透射比越低。符合物理规律。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。