表面喷砂氧化或磨砂面散射特性模拟实例
在TP中的任何物体,我们都可以定义表面或实体特性。如表面散射,透射/反射,分光滤光,荧光等等。
本文我们来学习表面的磨砂散射特性定义方法。
新建一个TP文件,点击主菜单定义\编辑材料\表面材质,打开表面材质特性编辑器:
点击新建目录,可以创建新的特性库。默认为Default库,在此目录下我们来创建一种表面特性。点击新增特性,命名特性为“磨砂表面特性”,散射函数为Abg函数:(温度默认300,波长默认0)
点击确定,我们就新建了一个表面特性,只需设置相关的透射,反射,吸收及散射参数即可。
其中散射参数包括反射式散射BRDF和透射散射BTDF,假设我们模拟白色墙面的散射效果,其反射率80%,吸收20%。80%反射的光线全部发生了朗伯散射,则可以进行如下定义:
在吸收率一栏输入0.2,由于总能量是审恒的,我们可以通过左侧的求解来计算出反射式散射BRDF的Abg散射系数(使用求解自动计算,无需手动输入数值):
自动计算的BRDF总和0.8。(BRDF A栏值为0.280112)
同样道理,我们创建透过率为70%的磨砂面,输入吸收率0.3,点击求解BTDF即可得到透射后的散射Abg参数,这就是对于喷砂氧化特性的快速定义方法。(BTDF A栏值为0.2450986,BTDF B值为0.1,BTDF g值为0)
保存表面特性关闭当前编辑窗口。回到TP视图界面,我们来快速验证散射效果。插入几何物体,假设材料为PMMA的塑料板,后表面磨砂。方块\宽度X10,Y10,Z1,中心位置X0,Y0,Z5,旋转皆0。
在系统树上右键点击物体选择属性,材料标签中找到PMMA,然后应用:材料\目录Plastic\名称PMMA。
使用点选物面快捷按扭选中物体右表面,右键同样选属性,设置表面的磨砂特性。由于我们刚刚定义好了这种特性,只需从表面特性库中找出来并应用于此表面即可。
添加一个格点光源,在系统树上选择光源标签,格点光源前的红X上点击以启用此光源,双击可打开格点光源设置对话框:
格点范围:圆形\外半径2\内半径0
格点图形:圆形\环数30
点击光线追迹可以看到,光线通过塑料板在后面发生了散射:
塑料板绕X轴旋转30度,再进行光线追迹:(修改几何体中的旋转栏X为30)
上图中所示的光路与我们想象的可能就不一样了,理论上光线通过任何光学表面都会产生部分反射,即我们常说的菲涅尔损失,而上图显示所有光线都通过塑料板向后传播。难道TP在通量计算时不准确?
其实不然,我们在进行光线追迹时,其实TP已经帮我们设置了一个默认的光线能量门槛值,当光线能量低于此门槛值时将不再被追迹。点击主菜单光线追迹\光线追迹选项:
门槛数值\光通量门槛数0.05
光线与面相交次数界限:总相交次数1000,总散射次数1000,随机散射次数1000,光学散射次数1000。
除了能量门槛,还有相交次数,散射次数等限制。为了计算菲涅尔能量损失,我们将光通量门槛降低到0.005的相对能量,再进行光线追迹:
这时在上图中看到了前表面菲涅尔反射损失的光线,蓝色显示,这是任何光学表面固有的光学特性,蓝色光线代表了多少能量呢?我们可以查看不同颜色光线代表的相对能量范围,点击主菜单上的分析\光线颜色:
Flux-based ray colors
Palettes:默认值
From栏依上到下:0.666,0.333,0
TO栏依上到下:1,0.666,0.333
从上图中可以看到,光线颜色可以代表不同能量或不同波长,若想使用颜色表达更详细的能量细节,可以选择线性延伸:
Flux-based ray colors
Palettes:线性延伸
New Color Boundary:0
From依上到下:0.9,0.8,0.7,0.6
To依上到下:1,0.9,0.8,0.7
Wavelength-based ray colors:选择第一行