首页/文章/ 详情

BSDF数据交换文件的格式规定

11月前浏览592
 

概述

 

这篇文章介绍了双向散射分布函数(Bi-Directional Scatter Distribution Function, BSDF)数据交换文件格式。在知识库文章“How to use Tabular BSDF Data to Define the Surface Scattering Distribution”中,我们会在非序列下的BSDF散射模型中依据本文介绍的文件格式,使用表格BSDF数据来定义散射分布。这篇文章小编会在下周和大家分享。

 

介绍

 

在分析系统辐照度及杂散光分析时,表面散射是需要考虑的非常重要的一种效应。在许多案例中,散射是非常重要的。在OpticStudio中内置有多种散射分布,这包括朗伯散射(Lambertian),高斯(Gaussian)及ABg模型。更多信息请查看帮助系统中The Setup > Non-Sequential Component Editor > Object Properties > Coat/Scatter标签。

有时候我们想要的散射模型不符合OpticStudio内置的散射模型中的任一种。如果想要散射分布可以用解析的方法表示并且该函数是可积的,则我们可以使用用户自定义表面散射模型来定义,具体内容可以参考我们上一周的文章“如何创建用户自定义散射模型”。然而在许多情况下,我们可以直接测量得到物体表面的散射分布并得到该表面的BSDF数据。例如使用Radian Vision System(RVS)公司生产的球面散射分析仪 (Imaging Sphere for Scatter Appearance, IS-SA) 测量的BSDF数据。在照明系统设计中,我们可以在OpticStudio非序列模式中直接输入测量得到的BSDF数据并生成对应的散射分布。本文将具体介绍BSDF数据交换文件的格式,该格式的设计目标是用来快速转换BSDF数据。

 

坐标系定义

 

首先我们需要定义数据的坐标系。这里一共使用四种重要的角度来描述光线在一个表面发生的散射。它们根据重要性排序如下:

  • 样本旋转角 (Sample Rotation) (图示: SampleRotation)

  • 入射角 (Angle of Incidence) (图示: AngleOfIncidence)

  • 散射方位角 (Azimuth Scattering angle) (图示: ScatterAzimuth)

  • 散射极角 (Radial Scatter angle) (图示: ScatterRadial)

四种角度的顺序是非常重要的:对于每个样本旋转角,您可以得到不同入射角下的数据;对于每个入射角,您可以得到不同方位角的数据,依此类推。

 
 
 

上图所示为描述散射数据的四个重要的BSDF角度。其中BRDF情况下,散射极角和散射方位角是相对于光线的镜面反射角进行定义的。因此在大多数反射情况下,该方法所需报告数据的数量有效降低。在BTDF情况下,散射极角和散射方位角则是相对于透射光的方向进行定义的。散射极角为零度时对应反射光线的方向,随着极角增大,散射光线向外发散。方位角为零度对应反射光线指向表面法向量的方向,随着方位角增大,散射光线绕反射光线方向逆时针旋转。

 

该图展示了一束反射光的散射情况。其中上图表示入射角为30度的光经过表面反射后的散射数据。下图为经过校准变换后的数据,反射光的光斑中心位于坐标轴中点。需要注意的是,散射数据经过了旋转。变换后的数据格式中,0°方位角方向与照度图的0°轴重合。

 

文件格式定义

 

BSDF数据交换文件实际上就是以 .BSDF为扩展名的文本文件。下表所示为文件中每个文本和数据行所对应的含义:

 

该表显示了BSDF数据交换文件的基本格式。改变其中的变量会影响枚举格式。有关该表的详细解释请见本文“格式注释”一节。以系统内置的示例文件 BrownBinyl.BSDF 为例,各部分功能注释如下:

 
 

格式注释

 

本节将根据上文给出的表格中的编号,对数据交换文件的格式详细介绍:


#. 任何以#号起始的行都将作为注释被忽略

1. 目前光源 (Source) 变量只支持一种情况:Measured


2. 对称 (Symmetry) 变量包含三种情况:PlaneSymmetrical, ASymmetrical, ASymmetrical4D

PlaneSymmetrical

测量数据根据辐照度的光轴旋转对称,因此只有180°方位角的数据包含在文件中。请在平面对称的各向同性样本中使用这一设置。

Asymmetrical

在测量数据中没有对称性,不包括样本旋转。360°方位角的数据都会包含在文件中。在各向同性样本中使用该设置(只对一个样本旋转方向)。

ASymmetrical4D

在测量数据中没有对称性,并且包括样本旋转。所有360°方位角的数据将包含在文件中。在个相同项样本中使用该设置(可对多个样本方向)。


3. 光谱 (SpectralContent) 变量包含两种情况:Monochrome, XYZ

    我们使用的RVS公司的IS-SA测试仪并不能测量全部光谱,而只是三色数据。

Monochrome

在该设置下,在DataBeginDataEnd之间只有一组数据。该组数据在DataBegin的前一行进行了标注(见上表中第14行)。

XYZ

在该设置下文件将包含三组枚举散射数据,每组数据对应三色数据中的一种。每组数据在DataBegin的前一行进行了标注(见上表中第14行)。

4. 散射种类 (ScatterType) 变量包含两种情况:BRDT, BTDF

BRDF

文件中包含的数据以BRDF为单位。坐标系中散射极角为0°时对应反射光的方向。

BTDF

文件中包含的数据以BTDF为单位。坐标系中散射极角为0°时对应透射光的方向。

5-12. 数据总数 (Value Totals)(第5,7,9,11行)

所有数据均为正整数(不允许有小数点)。

对于样本旋转和入射角度的设置没有上限。

对于方位角在PlaneSymmetry变量模式下的上限为180°,在Asymmetrical, ASymmetrycal4D 的上限为360°。

对于散射极角的上限为180°。

枚举变量 (Enumeration value) (第6,8,10,12行)

所有枚举变量均为正数。

枚举变量的数目必须与数据总数一致。

枚举变量不必等间距设置(请参考下一节中给出的示例文件,散射极角和散射方位角的枚举值都不是等间隔的)。然而每个数据行必须以最后一个枚举值为结尾(例如数据行不允许有多余的空格和Tab间隔符)。

16. 在每组庞大的数据前后都标有DataBeginDataEnd。在每一块数据开始前都会给出对应入射角下的总体积分散射。该数据以 “TIS” 为起始。该数据表示比例值,如 .500表示50%光线发生散射,剩下的光线根据BRDF的定义发生散射或透射。

在TIS数据之后为散射数据表。该表中每个竖行表示对应散射极角下不同方位角的散射数据。散射数据的行排列为分组进行。首先,散射方位角对应每个入射角 (AngleOfIncidence),每个入射角数据包含不同方位角的数据行,该数据以行为单位形成一组数据。每个样本旋转角又包含不同的入射角,因此每个样本散射角下又包含多组不同的入射角数据组。

散射数据的枚举格式根据光谱 (SpectralContent) 变量不同而变化。如果光谱变量设为Monochrome,则数据格式如一小节中示例代码1和示例代码2所示。如果光谱变量设为XYZ,则数据中包含两个附加的DataBeginDataEnd定义行,并且在每个定义行DataBegin前都包含附加的标记行。该数据格式如下一小节中示例代码3所示。

 

BSDF数据交换格式示例

 


示例代码1

这段代码展示了单色数据的格式。其中只包含一组连续的数据,以及一组DataBegin和DataEnd定义行。在该示例中,只包含一个样本方向的数据。如果需要设置多个样本旋转角,则我们需在最后一行数据之后且在DataEnd定义行之前插入额外的数据行。

Monochrome

#Data Generated by Radiant Zemax' 'Imaging Sphere'

#6/1/2007 11:30:46 AM

#Name: Ron

#Model #: BTDF of matte sample

Source  Measured

Symmetry  PlaneSymmetrical

SpectralContent  Monochrome

ScatterType  BRDF

SampleRotation 1

0

AngleOfIncidence  6

0    10    20    30    45    60

ScatterAzimuth 5

0    30    60    90    180

ScatterRadial 15

0    1    2    3.5    5    6.7    8    13.1 ...

Monochrome

DataBegin

TIS 0.72

3.689E+00         3.575E+00         2.907E+00 ...

3.689E+00         3.585E+00         3.108E+00 ...

3.689E+00         3.585E+00         3.044E+00 ...

3.689E+00         3.511E+00         3.143E+00 ...

3.689E+00         3.313E+00         2.905E+00 ...

TIS 0.70

3.605E+00         3.491E+00         2.778E+00 ...

3.605E+00         3.444E+00         2.968E+00 ...

3.605E+00         3.444E+00         2.874E+00 ...

3.605E+00         3.316E+00         2.955E+00 ...

3.605E+00         3.206E+00         2.825E+00 ...

TIS 0.61

3.154E+00         3.059E+00         2.455E+00 ...

3.154E+00         2.924E+00         2.472E+00 ...

3.154E+00         2.924E+00         2.374E+00 ...

3.154E+00         2.768E+00         2.454E+00 ...

3.154E+00         2.892E+00         2.615E+00 ...

TIS 0.49

2.508E+00         2.453E+00         2.040E+00 ...

2.508E+00         2.341E+00         2.014E+00 ...

2.508E+00         2.341E+00         1.925E+00 ...

2.508E+00         2.203E+00         1.976E+00 ...

2.508E+00         2.311E+00         2.121E+00 ...

TIS 0.27

1.391E+00         1.362E+00         1.186E+00 ...

1.391E+00         1.351E+00         1.228E+00 ...

1.391E+00         1.351E+00         1.203E+00 ...

1.391E+00         1.324E+00         1.233E+00 ...

1.391E+00         1.323E+00         1.255E+00 ...

TIS 0.10

5.262E-01         5.333E-01         5.332E-01 ...

5.262E-01         5.295E-01         5.196E-01 ...

5.262E-01         5.295E-01         4.988E-01 ...

5.262E-01         5.122E-01         4.955E-01 ...

5.262E-01         5.070E-01         4.962E-01 ...

DataEnd


向下滑动浏览全部示例代码


示例代码2

这段代码同样展示了单色数据的格式。其中只包含一组连续的数据,以及一组DataBeginDataEnd定义行。其中代码间的红色标注介绍了散射数据中的散射极角,方位角以及入射角对应的格式(其中每组数据包含15列,本例中只展示其中的3列)。本例中的散射数据只包含一个样本旋转方向。如果包含多个样本旋转方向,则我们需在最后一组数据的DataEnd定义行之后插入新DataBeginDataEnd定义行。

#Data Generated by Radiant Imaging's 'Imaging Sphere'

#6/1/2007 11:30:46 AM

#Name: Ron

#Model #: BTDF of matte sample

Source  Measured

Symmetry  PlaneSymmetrical

SpectralContent  Monochrome

ScatterType  BRDF

SampleRotation 1

0

AngleOfIncidence  6

0    10    20    30    45    60

ScatterAzimuth 5

0    30    60    90    180

ScatterRadial 15

0    1    2    3.5    5    6.7    8    13.1 ...

Monochrome

DataBegin      Rad 1          Rad 2       ...

TIS 0.72

3.689E+00   Az 0   3.575E+00         2.907E+00 ...

3.689E+00   Az 30  3.585E+00         3.108E+00 ...

3.689E+00   .      3.585E+00         3.044E+00 ...    Inc 0

3.689E+00   .      3.511E+00         3.143E+00 ...

3.689E+00  Az 180  3.313E+00      2.905E+00 ...

TIS 0.70

3.605E+00          3.491E+00         2.778E+00 ...

3.605E+00          3.444E+00         2.968E+00 ...

3.605E+00          3.444E+00         2.874E+00 ...   Inc 10

3.605E+00          3.316E+00         2.955E+00 ...

3.605E+00          3.206E+00         2.825E+00 ...

TIS 0.61

3.154E+00          3.059E+00         2.455E+00 ...

3.154E+00          2.924E+00         2.472E+00 ...

3.154E+00          2.924E+00         2.374E+00 ...       .

3.154E+00          2.768E+00         2.454E+00 ...

3.154E+00          2.892E+00         2.615E+00 ...

TIS 0.49

2.508E+00          2.453E+00         2.040E+00 ...

2.508E+00          2.341E+00         2.014E+00 ...

2.508E+00          2.341E+00         1.925E+00 ...       .

2.508E+00          2.203E+00         1.976E+00 ...

2.508E+00          2.311E+00         2.121E+00 ...

TIS 0.27

1.391E+00          1.362E+00         1.186E+00 ...

1.391E+00          1.351E+00         1.228E+00 ...

1.391E+00          1.351E+00         1.203E+00 ...        .

1.391E+00          1.324E+00         1.233E+00 ...

1.391E+00          1.323E+00         1.255E+00 ...

TIS 0.10

5.262E-01          5.333E-01         5.332E-01 ...

5.262E-01          5.295E-01         5.196E-01 ...

5.262E-01          5.295E-01         4.988E-01 ...   Inc 60

5.262E-01          5.122E-01         4.955E-01 ...

5.262E-01          5.070E-01         4.962E-01 ...

DataEnd


向下滑动浏览全部示例代码


示例代码3

多色 (XYZ) 数据的格式示例。每个单独的波长拥有分立的DataBeginDataEnd定义行。如果有多个样本旋转方向,则数据将添加在每个波长组最后一行数据后,且在DataEnd定义行之前。

#Data Generated by Radiant Imaging's 'Imaging Sphere'

#6/1/2007 11:30:46 AM

#Name: Ron

#Model #: BTDF of matte sample

Source  Measured

Symmetry  PlaneSymmetrical

SpectralContent  XYZ

ScatterType  BRDF

SampleRotation 1

0

AngleOfIncidence  6

0    10    20    30    45    60

ScatterAzimuth 5

0    30    60    90    180

ScatterRadial 15

0    1    2    3.5    5    6.7    8    13.1 ...

TristimulusX

DataBegin

TIS 0.72

3.689E+00         3.575E+00         2.907E+00 ...

3.689E+00         3.585E+00         3.108E+00 ...

3.689E+00         3.585E+00         3.044E+00 ...

3.689E+00         3.511E+00         3.143E+00 ...

3.689E+00         3.313E+00         2.905E+00 ...

TIS 0.70

3.605E+00         3.491E+00         2.778E+00 ...

3.605E+00         3.444E+00         2.968E+00 ...

3.605E+00         3.444E+00         2.874E+00 ...

3.605E+00         3.316E+00         2.955E+00 ...

3.605E+00         3.206E+00         2.825E+00 ...

TIS 0.61

3.154E+00         3.059E+00         2.455E+00 ...

3.154E+00         2.924E+00         2.472E+00 ...

3.154E+00         2.924E+00         2.374E+00 ...

3.154E+00         2.768E+00         2.454E+00 ...

3.154E+00         2.892E+00         2.615E+00 ...

TIS 0.49

2.508E+00         2.453E+00         2.040E+00 ...

2.508E+00         2.341E+00         2.014E+00 ...

2.508E+00         2.341E+00         1.925E+00 ...

2.508E+00         2.203E+00         1.976E+00 ...

2.508E+00         2.311E+00         2.121E+00 ...

TIS 0.27

1.391E+00         1.362E+00         1.186E+00 ...

1.391E+00         1.351E+00         1.228E+00 ...

1.391E+00         1.351E+00         1.203E+00 ...

1.391E+00         1.324E+00         1.233E+00 ...

1.391E+00         1.323E+00         1.255E+00 ...

TIS 0.10

5.262E-01         5.333E-01         5.332E-01 ...

5.262E-01         5.295E-01         5.196E-01 ...

5.262E-01         5.295E-01         4.988E-01 ...

5.262E-01         5.122E-01         4.955E-01 ...

5.262E-01         5.070E-01         4.962E-01 ...

DataEnd

TristimulusY

DataBegin

TIS 0.72

3.689E+00         3.575E+00         2.907E+00 ...

3.689E+00         3.585E+00         3.108E+00 ...

3.689E+00         3.585E+00         3.044E+00 ...

3.689E+00         3.511E+00         3.143E+00 ...


向下滑动浏览全部示例代码

 

小结

 

BSDF数据交换文件格式是由Zemax和RVS公司共同开发的,该格式提供了一个简单快捷的方式将BSDF数据输入到OpticStudio中。输入到OpticStudio中的数据将用于在非序列模式下描述任意物体表面的表面散射分布。

来源:武汉宇熠
SystemSolidWorksZemax
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2023-05-27
最近编辑:11月前
武汉宇熠
光机电领域优秀供应商
获赞 336粉丝 209文章 807课程 9
点赞
收藏
未登录
还没有评论

课程
培训
服务
行家

VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈