切换到宽版
  • 广告投放
  • 稿件投递
  • 繁體中文
    • 820阅读
    • 0回复

    [技术]BSDF数据导入与拟合 [复制链接]

    上一主题 下一主题
    离线infotek
     
    发帖
    5431
    光币
    21335
    光券
    0
    只看楼主 倒序阅读 楼主  发表于: 2022-06-21

    简介

    FRED中,列表形式的BSDF数据可以使用如下两种方式。

    1. 按照FRED可以识别的数据格式直接导入作为散射模型

    2. 使用BSDF数据拟合工具来产生合适的函数模型。

    数据文件的格式

    在FRED中能被识别的测试数据必须按照如下的规格形式。数据文件的开头包含两行,

    第一行指明提供的数据类型,第二行是对数值做出解释。开头正确的格式如下:

    type bsdf_data

    format angles=[deg/sin] bsdf=[value/log] scale=xxx

    在第二行的表头,[]提供了可选的指标。角度值可以是极化/方位角度或方向余弦。BSDF值可以是实际的BSDF值或log(BSDF)。Scale 是BSDF数据的尺度因子。

    文本文件余下的行由两个组成,指明镜像方向相对应的散射数据,以及3个一组构成的散射方向和BSDF值。正确的数据输入格式如下:

    Θspec_1  φspec_1

    Θscat_1  φscat_1  BSDFscat_1

    Θscat_2 φscat_2 BSDFscat_2

    Θscat_n φscat_n BSDFscat_n

    Θspec_2 φspec_2

    Θscat_1 φscat_1 BSDFscat_1

    Θscat_2 φscat_2 BSDFscat_2

    Θscat_1 φscat_1 BSDFscat_1

    Θscat_2 φscat_2 BSDFscat_2

    Θscat_n φscat_n BSDFscat_n

    具有镜像0°和15°测试数据正确的格式文件的例子如下:

    type bsdf_data

    format angles=deg bsdf=value scale=1

    0 0

    -30 0 0.0003

    -20 0 0.0005

    -10 0 0.0015

    0 0 0.1

    10 0 0.0015

    20 0 0.0005

    30 0 0.0003

    0 0 0.1

    15 0

    -30 0 0.0003

    -20 0 0.0005

    -10 0 0.0015

    0 0 0.1

    10 0 0.0015

    20 0 0.0005

    30 0 0.0003

    0 0 0.1

    方法1:导入测试数据作为散射模型

    如下的步骤是导入格式数据作为散射模型

    1. 在树形文件夹散射文件中,右键在列表中选择创建一个新的散射模型。

    2. 在列出诸多的类型中,下拉列表选中Tabulated BSDF(Reciprocity-obeying sampled BSDF)

    3. 在file框中,右键选择”Replace With Data from a File.”

    4.浏览包含散射模型的文本文档,并点击OK.

    方法二:拟合数据到函数模型

    BSDF数据拟合工具可以读取ASCII文件的列表BSDF数据,以及拟合数据到任意的二项式或多项式散射模型。二项式和多项式散射模型具有如下的函数模型:

    BSDF数据拟合工具,如下图所示,可以通过如下方式获取

    菜单/工具/BSDF数据拟合/二项式、多项式数据拟合

    两种拟合方式可选,一个是通过制定n,m,I和I’参数拟合函数,另一个是执行回归拟合,结合在n,m,I和I’提供的范围内拟合。无论哪种方式,从拟合工具对话框得到的拟合结果都可以被用来创建一个新的散射模型。

    模型验证

    一旦散射模型创建了,无论是使用上述的方法1或2,模型必须进行验证。在树形文件夹散射模型节点右键打开一个可选项:输出详细的摘要报告到输出窗口,2D画图使用角度或β-β0,使用用户自定义镜像角3D画图。详尽报告、2D和3D画图将会给出总散射。拟合最小不确定性在5%左右。

     
    分享到