焦散 (光學)

裝滿水的玻璃杯產生的焦散現象
光學中，焦散現象（caustic）是被彎曲的面或物體反射或折射後，出現光線的包絡，或包絡在另一面上的射影。焦散現象會形成焦散線或焦散面，每條光線都與之相切。如右圖所示，可見明顯的焦散線。這些形狀通常有尖點。
腎形焦散線
水面造成的焦散線
淺水中的焦散線

**解釋**
射線經過非平面折射後，在許多光線交叉的地方會形成焦散線。
集中的光線（如陽光）會灼傷人。“焦散”（caustic）一詞來自希臘語καυστός“燒焦”，途經拉丁語causticus“燃燒”。
光線照射在酒杯上時，就會出現焦散現象。玻璃杯會投射出陰影，也會產生彎曲的亮區。在理想情況下（包括平行光射入時）會產生腎形光斑。光線穿過波浪照射在水體上時，通常會形成波紋狀的焦散線。
彩虹是人們熟悉的另一種焦散現象。雨滴對光的散射會使不同波長的光折射成半徑不同的弧線，從而產生彩虹。

**計算機製圖**
計算機圖形學中，大多數現代渲染系統都支持焦散效果，其中有些甚至還支持立體焦散。這是通過光線追蹤光束的可能路徑，並考慮折射與反射實現的；光子映射是其中一種實現方式。立體焦散也可以由體積路徑跟蹤實現。一些計算機圖形系統採用“正向光追”技術，將光子模擬為來自光源，按照規則在環境中反彈。在有足夠光子照射到表面的區域，就會形成焦散，使其比平均區域更亮。“反向光追”則是以相反方式工作，從表面開始，確定是否有通向光源的路徑。 這裡 date=20230628032215 可見一些三維光追焦散的例子。
大多數計算機圖形系統的重點在美學而非物理上精確，這在電腦遊戲的即時渲染中尤為明顯，遊戲中大多使用預先算好的材質。

**焦散工程**
焦散工程描述的是解決計算機圖形學中逆問題的過程。即，在給定圖像的前提下，確定折射或反射光形成圖像的表面。
在這問題的離散版本中，表面會被分為若干微表面，假定是光滑的，即每片微表面反射/折射的光線形成高斯焦散。這意味著，每個微表面都服從高斯分佈。每塊微表面的位置與方向由泊松積分與模擬退火相結合的方法得到。
解決連續問題的方法多種多樣，如利用運輸理論中所謂最優運輸（optimal transport）的思想尋找入射光與目標表面之間的映射。獲得這種映射後，利用斯涅爾定律反覆調整，從而優化表面。

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

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

**設計管線**
這裡進考慮折射焦散，對象可按如下方式確定（不同輸出的反射焦散也有類似原理）：
輸入: 給定光源位置，燈光通過材料傳播後獲得的圖案圖像。
輸出: 接收面（平坦的固體表面，例如：地板、牆壁等）上的焦散圖形。
為實現目標圖案，須將光線射向外部環境的表面加工成一定形狀，以便在另一面實現所需的圖案。
如上述，在輸入圖像的情況下，該過程將產生類似的焦散圖案作為輸出。原則上，有兩個核心階段，又分成兩個子階段：- 基於最優運輸的焦散設計解最優運輸問題
*# 計算目標光分佈
*# 計算從初始分佈到目標分佈的映射- 優化目標表面
*# 計算表面的法線表示
*# 表面細化

**解最優運輸問題**
在透明表面發生折射的情況下，例如在清澈水面下出現的圖案，可以觀察到3種主要現象：- 非常亮（凝聚光強）的點（所謂奇點）- 連接各點的曲線狀對象- 光強度較低的區域
未進行計算，我們引入以下3個量來描述圖案的幾何特徵：點奇異性（度量某些高度集中的點的光強）、線奇異性（度量某些較亮曲線附近的光強）、輻照度（測量某個光照不集中區域的強度）。把它們放在一起，下面的函數就定義了目標表面上某一部分Ω的總輻射功率：

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


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

其中
：折射係數
：解上述最優運輸問題所得目標位置
得到法線表示後，通過最小化以下複合能量函數，實現表面細化：

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

**可變逆渲染焦散圖樣設計**

**基本原理**
逆圖形學是一種觀察圖像數據、推斷所有可能屬性（如三維幾何、光照、材料與運動）生成逼真圖像的方法。傳統計算機圖形學中，為使圖像具有理想的外觀和效果，要賦予圖像所有相關屬性/特徵，這可以說是前向方法；而在焦散設計中，物體（尤其材料表面）的性質並不平凡。給定約束條件就是要獲得的目標圖像。因此，目標是通過觀察、推斷目標圖像，以獲得其性質。這可以視作反向方法。
下面是基本損失函數，解釋瞭如何優化參數：

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

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

**生成圖像的元素**
 外觀（Appearance，）：像素表面外觀建模為MipMap紋理與像素亮度之積。- 幾何（Vertices，）：假定三維場景由三角形近似，參數為頂點。- 攝像機（Camera，）：焦距、視點、攝像機中心。
還可以有更多元素，如反照率、折射率之類。

**一般可變框架**
引入U為中間變量，表示2維投影的頂點座標。這些屬性的梯度可從鏈式法則推導出：
 
 
 
應用隨機梯度下降後，可得最優的。隨後，這些量將用於雕刻或銑削材料，以生成目標圖案。

**方法**
一種常見方法是利用各種深度學習自動微分框架/庫（如TensorFlow、PyTorch、Theano）中執行微分運算的能力。
還有一種方法是用OpenDR框架建立前向圖形模型，並自動獲取模型參數的導數，以進行優化。在獲得優化屬性後，就可以生成目標圖像。OpenDR提供的局部優化方法可納入概率編程框架，可以解決焦散問題。

**製造**
設計與製造過程
計算設計出焦散圖樣後，處理過的數據將用作機械加工。
根據所需質量、製造所需工作量和可用的製造方法，可以用各種材料。- 常見折射材料：亞克力、聚碳酸酯、聚乙烯、玻璃、鑽石- 常見反射材料：鋼、鐵、鋁、金、銀、鈦、鎳
231x231px
焦散圖樣設計有很多應用，如- 燈具- 珠寶- 建築- 裝飾玻璃生產

**另見**
 焦點- 模糊圈- 焦散 (數學)

**參考文獻**
 cite book | first=Max | last=Born | author-link=Max Born |author2=Wolf, Emil |author-link2=Emil Wolf  
title=Principles of Optics: Electromagnetic Theory of Propagation, Interference and Diffraction of Light | edition=7th | publisher=Cambridge University Press | isbn=978-0-521-64222-4 - isbn=978-0-7503-0610-2

**閱讀更多**
 bibcode = 1996PhTea..34..572F - publisher=ACM