FRED案例展示:繪制表面顆粒(Mie) 散射圖

于大多數散射模型,透射散射和反射散射之間的BSDF值沒有差異,因此無需指定繪圖是透射還是反射。

然而,表面顆粒 (Mie) 散射模型具有向前和向后的散射分量,在BSDF繪圖中需要加以考慮,但FRED中的默認繪圖類型僅適用于反射散射。

本文章中包含的FRED文件加載了一個嵌入式腳本,該腳本將BSDF數據寫入 Microsoft Excel進行交互繪圖,并說明該模型在傳輸過程中的應用。

腳本概述

創建繪圖的嵌入式腳本利用FRED軟件功能,可調用COM和ScatterEval腳本功能與Microsoft Excel等程序進行交互。該腳本的偽代碼如下:

1.找到 Mie 散射節點并獲取其屬性;

2.創建 Excel 應用程序對象和工作簿文件;

3.開始循環入射角結構程序;

a.設置入射和鏡面方向矢量(考慮透射或反射)。

b.開始循環散射角結構程序。

a.散射角度范圍設置在 -89.5 °至 89.5 °之間。

b.使用ScatterEval函數根據入射向量、鏡面反射向量和散射向量計算 BSDF 值。

c.將BSDF數據導入Excel文件中。

4.在Excel文件中繪制最終結果。

用于入射、鏡面反射和散射方向矢量的坐標系如下圖1所示。在透射的情況下,鏡面方向矢量與入射方向矢量相同。在反射的情況下,鏡面方向矢量在z方向上改變符號。

FRED案例展示:繪制表面顆粒(Mie) 散射圖的圖1

圖1.方向矢量坐標系

除了設置 Excel 對象和指定方向向量之外,腳本中只有幾個散射模型本身的特定命令。使用特定于 scatter 的腳本命令包括:

FindScatter–返回散射模型的節點編號。

ScatterPrepareForEval–對內部初始化散射模型進行評估。此操作必須在 ScatterEval 命令之前運行。

GetMieScatter– 將mie散射模型的設置加載到 T_MIESCATTER 結構類型中。 ApplyRefl 結構成員則確定是以反射還是透射方式繪制。

ScatterEval– 返回一組給定的入射方向向量、鏡面反射方向向量和散射方向向量的BSDF值。

ScatterTIS– 返回請求模式的總積分散射整合。

FRED案例展示:繪制表面顆粒(Mie) 散射圖的圖2

登錄后免費查看全文
立即登錄
App下載
技術鄰APP
工程師必備
  • 項目客服
  • 培訓客服
  • 平臺客服

TOP