焦散 (光學)

光學中,焦散現象(caustic[1])是被彎曲的面或物體反射折射後,出現光線包絡,或包絡在另一面上的射影[2]焦散現象會形成焦散或焦散,每條光線都與之相切[2]如右圖所示,可見明顯的焦散線。這些形狀通常有尖點

裝滿水的玻璃杯產生的焦散現象
茶杯底部的腎形焦散線
水面造成的焦散線
淺水中的焦散線

解釋

 
射線經過非平面折射後,在許多光線交叉的地方會形成焦散線。

集中的光線(如陽光)會灼傷人。「焦散」(caustic)一詞來自希臘語καυστός「燒焦」,途經拉丁語causticus「燃燒」。

光線照射在酒杯上時,就會出現焦散現象。玻璃杯會投射出陰影,也會產生彎曲的亮區。在理想情況下(包括平行光射入時)會產生腎形光斑。[3][4]光線穿過波浪照射在水體上時,通常會形成波紋狀的焦散線。

彩虹是人們熟悉的另一種焦散現象。[5][6]雨滴對光的散射會使不同波長的光折射成半徑不同的弧線,從而產生彩虹。

計算機製圖

計算機圖形學中,大多數現代渲染系統都支持焦散效果,其中有些甚至還支持立體焦散。這是通過光線追蹤光束的可能路徑,並考慮折射與反射實現的;光子映射是其中一種實現方式。立體焦散也可以由體積路徑跟蹤實現。一些計算機圖形系統採用「正向光追」技術,將光子模擬為來自光源,按照規則在環境中反彈。在有足夠光子照射到表面的區域,就會形成焦散,使其比平均區域更亮。「反向光追」則是以相反方式工作,從表面開始,確定是否有通向光源的路徑。[7]這裏頁面存檔備份,存於互聯網檔案館)可見一些三維光追焦散的例子。

大多數計算機圖形系統的重點在美學而非物理上精確,這在電腦遊戲的實時渲染中尤為明顯[8],遊戲中大多使用預先算好的材質

焦散工程

焦散工程描述的是解決計算機圖形學逆問題的過程。即,在給定圖像的前提下,確定折射或反射光形成圖像的表面。

在這問題的離散版本中,表面會被分為若干微表面,假定是光滑的,即每片微表面反射/折射的光線形成高斯焦散。這意味着,每個微表面都服從高斯分佈。每塊微表面的位置與方向由泊松積分模擬退火相結合的方法得到。[9]

解決連續問題的方法多種多樣,如利用運輸理論中所謂最優運輸(optimal transport)的思想[10]尋找入射光與目標表面之間的映射。獲得這種映射後,利用斯涅爾定律反覆調整,從而優化表面。[11][12]

基於最優運輸的焦散圖案設計

基本原理

控制焦散圖案是相當具有挑戰性的問題,因為表面的微小變化會嚴重影響圖案質量:光線方向在與材料反射/折射時可能會受到其他光線的干擾。這將導致圖案離散、不連續。為了解決這個問題,基於最優運輸的方法是現有的建議方法之一,它可以在光線穿過某種透明材料表面傳播時改變光線方向,從而控制焦散圖案。[13][14]給定物體/圖案的參考圖像,目標是描述光線折射通過的材料表面,並匯聚到參考圖像的類似圖案。具體方法是重新排列/重新計算初始光強,直到得到優化問題的最小值。

設計管線

這裏進考慮折射焦散,對象可按如下方式確定(不同輸出的反射焦散也有類似原理):

輸入: 給定光源位置,燈光通過材料傳播後獲得的圖案圖像。

輸出: 接收面(平坦的固體表面,例如:地板、牆壁等)上的焦散圖形。

為實現目標圖案,須將光線射向外部環境的表面加工成一定形狀,以便在另一面實現所需的圖案。

如上述,在輸入圖像的情況下,該過程將產生類似的焦散圖案作為輸出。原則上,有兩個核心階段,又分成兩個子階段:

  •  
    基於最優運輸的焦散設計
    解最優運輸問題
    1. 計算目標光分佈
    2. 計算從初始分佈到目標分佈的映射
  • 優化目標表面
    1. 計算表面的法線表示
    2. 表面細化

解最優運輸問題

在透明表面發生折射的情況下,例如在清澈水面下出現的圖案,可以觀察到3種主要現象:

  • 非常亮(凝聚光強)的點(所謂奇點
  • 連接各點的曲線狀對象
  • 光強度較低的區域

未進行計算,我們引入以下3個量來描述圖案的幾何特徵:點奇異性 (度量某些高度集中的點的光強)、線奇異性 (度量某些較亮曲線附近的光強)、輻照度 (測量某個光照不集中區域的強度)。把它們放在一起,下面的函數就定義了目標表面上某一部分Ω的總輻射功率 

 

這步之後,就有了兩個輻射通量測量值,分別是輻射源 (由初始化均勻分佈)與目標 (上一步計算)。剩下要計算的是從源到目標的映射。為此要先定義幾個量,首先是兩個由概率取值的光強: (用 除以 之間聯合區域的通量)、 (用 除以 之間聯合區域的通量)。其次,由多個點 生成原網格,之後再變形。接着,在這組點 上定義power圖 (一組power元 ),由權向量 加權。最後,我們的目標是決定要移動哪些power元。考慮面上所有 個頂點,找到以下凸函數的最小值 ,就可得到目標的匹配power圖:

 

優化目標面

 
計算過程

在解出最優運輸問題後,就得到了頂點。不過,這並沒有提供最終表面形狀的信息。給定入射光 、出射光 及上一步所得的power圖,根據斯涅爾定律可算出曲面法線:

 

其中

 折射係數
 :解上述最優運輸問題所得目標位置

得到法線表示後,通過最小化以下複合能量函數,實現表面細化:

 

其中

 是將最優運輸所得頂點法線 與斯涅爾定律計算所得目標法線 對齊,所得的積分能量。
 :最優傳輸所得網格無法適應不連續面的尖點,這一項用於懲罰這種點,使其不會隨入射光發生顯著變化。
 是經過網格中三角形 的能量通量。
 是使三角形形狀規則化、保持形狀良好的能量。
 是屏障能量,用於確保曲面變形不會超過一定距離的閾值 

可變逆渲染焦散圖樣設計

基本原理

逆圖形學是一種觀察圖像數據、推斷所有可能屬性(如三維幾何、光照、材料與運動)生成逼真圖像的方法。[15]傳統計算機圖形學中,為使圖像具有理想的外觀和效果,要賦予圖像所有相關屬性/特徵,這可以說是前向方法;而在焦散設計中,物體(尤其材料表面)的性質並不平凡。給定約束條件就是要獲得的目標圖像。因此,目標是通過觀察、推斷目標圖像,以獲得其性質。這可以視作反向方法。

下面是基本損失函數,解釋了如何優化參數:

 

其中

 :損失函數,渲染圖像與目標的均方誤差
c:包含可能影響生成圖像的元素
I:目標圖像

管線設計

 
可變逆渲染焦散設計

首先,設計目標圖案並計算前向傳遞,得到合成圖樣。然後與目標圖案比較,得到損失。 這是讓合成圖案儘可能與目標圖案相似。然後進行反向傳播,以獲得焦散製造中所需的優化屬性。

生成圖像的元素

  • 外觀(Appearance, ):像素表面外觀建模為MipMap紋理與像素亮度之積。
  • 幾何(Vertices, ):假定三維場景由三角形近似,參數為頂點 
  • 攝像機(Camera, ):焦距、視點、攝像機中心。

還可以有更多元素,如反照率折射率之類。

一般可變框架

引入U為中間變量,表示2維投影的頂點坐標。這些屬性的梯度可從鏈式法則推導出:

 
 
 

應用隨機梯度下降後,可得最優的 。隨後,這些量將用於雕刻或銑削材料,以生成目標圖案。

方法

一種常見方法是利用各種深度學習自動微分框架/庫(如TensorFlowPyTorchTheano)中執行微分運算的能力。

還有一種方法是用OpenDR[16]框架建立前向圖形模型,並自動獲取模型參數的導數,以進行優化。在獲得優化屬性後,就可以生成目標圖像。OpenDR提供的局部優化方法可納入概率編程框架,可以解決焦散問題。

製造

 
設計與製造過程

計算設計出焦散圖樣後,處理過的數據將用作機械加工

根據所需質量、製造所需工作量和可用的製造方法,可以用各種材料。

 
Architecture

焦散圖樣設計有很多應用,如

  • 燈具
  • 珠寶
  • 建築
  • 裝飾玻璃生產

另見

參考文獻

  1. ^ Lynch, DK; Livingston, W. The caustic network. Color and Light in Nature. Cambridge University Press. 2001. ISBN 978-0-521-77504-5. 
  2. ^ 2.0 2.1 Weinstein, Lev Albertovich. Open Resonators and Open Waveguides. Boulder, Colorado: The Golem Press. 1969. 
  3. ^ Circle Catacaustic頁面存檔備份,存於互聯網檔案館). Wolfram MathWorld. Retrieved 2009-07-17.
  4. ^ Levi, Mark. Focusing on Nephroids. SIAM News. 2018-04-02 [2018-06-01]. (原始內容存檔於2023-06-27). 
  5. ^ Rainbow caustics. [2024-01-09]. (原始內容存檔於2013-04-19). 
  6. ^ Caustic fringes. [2024-01-09]. (原始內容存檔於2012-06-12). 
  7. ^ Guardado, Juan. Chapter 2. Rendering Water Caustics. Fernando, Randima (編). GPU Gems: Programming Techniques, Tips and Tricks for Real-Time Graphics. Addison-Wesley. 2004 [2024-01-09]. ISBN 978-0321228321. (原始內容存檔於2019-10-30). 
  8. ^ Caustics water texturing using Unity 3D. Dual Heights Software. [2017-05-28]. (原始內容存檔於2023-10-13). 
  9. ^ Marios Papas. Goal Based Caustics (PDF). Computer Graphics Forum (Proc. Eurographics). 2011-04, 30 (2). doi:10.1111/j.1467-8659.2011.01876.x. (原始內容存檔 (PDF)於2021-05-11).  (Additional resources at Wojciech Jarosz's Dartmouth University site頁面存檔備份,存於互聯網檔案館))
  10. ^ Villani, Cedric. Optimal Transport - Old and New. Springer-Verlag Berlin Heidelberg. 2009. ISBN 978-3-540-71049-3. 
  11. ^ Philip Ball. Light tamers. New Scientist. 2013-02, 217 (2902): 40–43. Bibcode:2013NewSc.217...40B. doi:10.1016/S0262-4079(13)60310-3. 
  12. ^ Choreographing light: New algorithm controls light patterns called 'caustics', organizes them into coherent images. [2024-01-09]. (原始內容存檔於2023-07-17). 
  13. ^ Schwartzburg, Yuliy; Testuz, Romain; Tagliasacchi, Andrea; Pauly, Mark. High-contrast computational caustic design. ACM Transactions on Graphics. 2014-07-27, 33 (4): 1–11 [2024-01-09]. doi:10.1145/2601097.2601200. (原始內容存檔於2022-07-07). 
  14. ^ Cédric, Villani. Optimal Transport, Old and New. Springer. 2009. ISBN 978-3-540-71050-9. 
  15. ^ Loper, Matthew M.; Black, Michael J., OpenDR: An Approximate Differentiable Renderer, Computer Vision – ECCV 2014 (Springer International Publishing), 2014: 154–169, ISBN 978-3-319-10583-3, doi:10.1007/978-3-319-10584-0_11  
  16. ^ Loper, Matthew M.; Black, Michael J., OpenDR: An Approximate Differentiable Renderer, Computer Vision – ECCV 2014 (Springer International Publishing), 2014: 154–169, ISBN 978-3-319-10583-3, doi:10.1007/978-3-319-10584-0_11  

閱讀更多

  • Ferraro, Pietro. What a caustic!. The Physics Teacher. 1996, 34 (9): 572–573. Bibcode:1996PhTea..34..572F. doi:10.1119/1.2344572. 
  • Dachsbacher, Carsten; Liktor, Gábor. Real-time volume caustics with adaptive beam tracing. Symposium on Interactive 3D Graphics and Games (ACM). February 2011: 47–54.