关于求解BRDF的一个问题


#1

求BRDF脚本文件积分的时候用的是: BRDF(i,1:length(theta_out),phi_c) = farfield3dintegrate(E2_upcos_theta_up,ux_up,uy_up,measurement_half_angle,theta_out,phi_out(phi_c))/
(farfield3dintegrate(0
E2_up+1,ux_up,uy_up,measurement_half_angle,theta_out,phi_out(phi_c))+1e-20);但为什么分母不是farfield3dintegrate(0*E2_up+1,ux_up,uy_up,90,0,phi_out(phi_c))+1e-20)?
另外,若是theta_out = linspace(-85,85,100)取这样的区域,积分半角5°,是不是就意味着积分时会有重叠?因为theta_out之间的间隔小于5°.


#2

Hi @14B902026,

你好。这部分脚本文件计算的是以theta为中心,在5度之内的平均电场强度。这个数值会对不同的theta的值,从-85度到85度进行计算。

要得到平均场强,我们对所定义的角度里(在这个例子里是5度)的场强进行积分,然后除以积分面积。这个积分的面积是使用farfield3dintegrate(0*E2_up+1,ux_up,uy_up,measurement_half_angle,theta_out,phi_out(phi_c))+1e-20计算的。

相对于不同的theta值,积分角的范围是会重叠的,但是这并不影响这样计算的结果。

希望可以帮到你 :slight_smile:


#3

bsdf_calculation_bloch.lsf (7.4 KB)请问这个脚本文件是可以直接计算出粗糙表面的镜像反射率吗?光谱反射率结果与所取的积分半角大小有关系吗?和theta_out的大小和范围有关系吗?


#4

可以算镜像反射率, 脚本最後给出的specular R就是了。我们做的都是单波长的,不太了解你指的光谱是什麽。