焦散 (光学)

焦散 (光学)

装满水的玻璃杯产生的焦散现象

光学中,焦散现象(caustic[1])是被弯曲的面或物体反射或折射后,出现光线的包络,或包络在另一面上的射影。[2]焦散现象会形成焦散线或焦散面,每条光线都与之相切。[2]如右图所示,可见明显的焦散线。这些形状通常有尖点。

茶杯底部的肾形焦散线

水面造成的焦散线

浅水中的焦散线

解释[编辑]

射线经过非平面折射后,在许多光线交叉的地方会形成焦散线。

集中的光线(如阳光)会灼伤人。“焦散”(caustic)一词来自希腊语καυστός“烧焦”,途经拉丁语causticus“燃烧”。

光线照射在酒杯上时,就会出现焦散现象。玻璃杯会投射出阴影,也会产生弯曲的亮区。在理想情况下(包括平行光射入时)会产生肾形光斑。[3][4]光线穿过波浪照射在水体上时,通常会形成波纹状的焦散线。

彩虹是人们熟悉的另一种焦散现象。[5][6]雨滴对光的散射会使不同波长的光折射成半径不同的弧线,从而产生彩虹。

计算机制图[编辑]

计算机图形学中,大多数现代渲染系统都支持焦散效果,其中有些甚至还支持立体焦散。这是通过光线追踪光束的可能路径,并考虑折射与反射实现的;光子映射是其中一种实现方式。立体焦散也可以由体积路径跟踪实现。一些计算机图形系统采用“正向光追”技术,将光子模拟为来自光源,按照规则在环境中反弹。在有足够光子照射到表面的区域,就会形成焦散,使其比平均区域更亮。“反向光追”则是以相反方式工作,从表面开始,确定是否有通向光源的路径。[7]这里 (页面存档备份,存于互联网档案馆)可见一些三维光追焦散的例子。

大多数计算机图形系统的重点在美学而非物理上精确,这在电脑游戏的实时渲染中尤为明显[8],游戏中大多使用预先算好的材质。

焦散工程[编辑]

焦散工程描述的是解决计算机图形学中逆问题的过程。即,在给定图像的前提下,确定折射或反射光形成图像的表面。

在这问题的离散版本中,表面会被分为若干微表面,假定是光滑的,即每片微表面反射/折射的光线形成高斯焦散。这意味着,每个微表面都服从高斯分布。每块微表面的位置与方向由泊松积分与模拟退火相结合的方法得到。[9]

解决连续问题的方法多种多样,如利用运输理论中所谓最优运输(optimal transport)的思想[10]寻找入射光与目标表面之间的映射。获得这种映射后,利用斯涅尔定律反复调整,从而优化表面。[11][12]

基于最优运输的焦散图案设计[编辑]

基本原理[编辑]

控制焦散图案是相当具有挑战性的问题,因为表面的微小变化会严重影响图案质量:光线方向在与材料反射/折射时可能会受到其他光线的干扰。这将导致图案离散、不连续。为了解决这个问题,基于最优运输的方法是现有的建议方法之一,它可以在光线穿过某种透明材料表面传播时改变光线方向,从而控制焦散图案。[13][14]给定物体/图案的参考图像,目标是描述光线折射通过的材料表面,并汇聚到参考图像的类似图案。具体方法是重新排列/重新计算初始光强,直到得到优化问题的最小值。

设计管线[编辑]

这里进考虑折射焦散,对象可按如下方式确定(不同输出的反射焦散也有类似原理):

输入: 给定光源位置,灯光通过材料传播后获得的图案图像。

输出: 接收面(平坦的固体表面,例如:地板、墙壁等)上的焦散图形。

为实现目标图案,须将光线射向外部环境的表面加工成一定形状,以便在另一面实现所需的图案。

如上述,在输入图像的情况下,该过程将产生类似的焦散图案作为输出。原则上,有两个核心阶段,又分成两个子阶段:

基于最优运输的焦散设计解最优运输问题

计算目标光分布

计算从初始分布到目标分布的映射

优化目标表面

计算表面的法线表示

表面细化

解最优运输问题[编辑]

在透明表面发生折射的情况下,例如在清澈水面下出现的图案,可以观察到3种主要现象:

非常亮(凝聚光强)的点(所谓奇点)

连接各点的曲线状对象

光强度较低的区域

未进行计算,我们引入以下3个量来描述图案的几何特征:点奇异性

Φ

p

{\displaystyle \Phi _{p}}

(度量某些高度集中的点的光强)、线奇异性

Φ

c

{\displaystyle \Phi _{c}}

(度量某些较亮曲线附近的光强)、辐照度

Φ

I

{\displaystyle \Phi _{I}}

(测量某个光照不集中区域的强度)。把它们放在一起,下面的函数就定义了目标表面上某一部分Ω的总辐射功率

Φ

T

{\displaystyle \Phi _{T}}

Φ

T

(

Ω

)

=

i

=

1

N

δ

Φ

p

i

(

Ω

)

+

j

=

1

N

γ

Φ

c

j

(

Ω

)

+

Φ

I

(

Ω

)

{\displaystyle \Phi _{T}(\Omega )=\textstyle \sum _{i=1}^{N_{\delta }}\Phi _{p}^{i}(\Omega )+\sum _{j=1}^{N_{\gamma }}\Phi _{c}^{j}(\Omega )+\Phi _{I}(\Omega )\displaystyle }

这步之后,就有了两个辐射通量测量值,分别是辐射源

Φ

S

{\displaystyle \Phi _{S}}

(由初始化均匀分布)与目标

Φ

T

{\displaystyle \Phi _{T}}

(上一步计算)。剩下要计算的是从源到目标的映射。为此要先定义几个量,首先是两个由概率取值的光强:

μ

S

{\displaystyle \mu _{S}}

(用

Φ

S

{\displaystyle \Phi _{S}}

除以

Φ

S

,

Φ

T

{\displaystyle \Phi _{S},\ \Phi _{T}}

之间联合区域的通量)、

μ

T

{\displaystyle \mu _{T}}

(用

Φ

T

{\displaystyle \Phi _{T}}

除以

Φ

S

,

Φ

T

{\displaystyle \Phi _{S},\ \Phi _{T}}

之间联合区域的通量)。其次,由多个点

s

i

(

Φ

S

Φ

T

)

{\displaystyle s_{i}\in (\Phi _{S}\cup \Phi _{T})}

生成原网格,之后再变形。接着,在这组点

s

i

{\displaystyle s_{i}}

上定义power图

P

w

{\displaystyle P_{w}}

(一组power元

C

i

w

{\displaystyle C_{i}^{w}}

),由权向量

ω

{\displaystyle \omega }

加权。最后,我们的目标是决定要移动哪些power元。考虑面上所有

x

{\displaystyle x}

个顶点,找到以下凸函数的最小值

ω

m

i

n

{\displaystyle \omega _{min}}

,就可得到目标的匹配power图:

f

(

ω

)

=

s

i

S

(

ω

i

.

μ

S

(

C

i

0

)

C

i

ω

(

x

s

i

2

ω

i

)

d

μ

T

(

x

)

)

{\displaystyle f(\omega )=\sum _{s_{i}\in S}(\omega _{i}.\mu _{S}(C_{i}^{0})-\int \limits _{C_{i}^{\omega }}(\|x-s_{i}\|^{2}-\omega _{i})d\mu _{T}(x))}

优化目标面[编辑]

计算过程

在解出最优运输问题后,就得到了顶点。不过,这并没有提供最终表面形状的信息。给定入射光

d

I

{\displaystyle d_{I}}

、出射光

d

O

{\displaystyle d_{O}}

及上一步所得的power图,根据斯涅尔定律可算出曲面法线:

n

=

d

I

+

η

x

d

I

+

η

d

T

=

d

I

+

η

x

d

I

+

η

(

x

R

x

)

|

|

x

R

x

|

|

{\displaystyle n=d_{I}+{\eta x \over \lVert d_{I}+\eta d_{T}\rVert }=d_{I}+{\eta x \over \lVert d_{I}+\eta {(x_{R}-x) \over ||x_{R}-x||}\rVert }}

其中

η

{\displaystyle \eta }

:折射系数

x

R

{\displaystyle x_{R}}

:解上述最优运输问题所得目标位置

得到法线表示后,通过最小化以下复合能量函数,实现表面细化:

a

r

g

m

a

x

x

ω

[

E

i

n

t

,

E

d

i

r

,

E

f

l

u

x

,

E

r

e

g

,

E

b

a

r

]

{\displaystyle {\underset {x}{\operatorname {arg\,max} }}\,\omega \,\cdot [E_{int},\,E_{dir},\,E_{flux},\,E_{reg},\,E_{bar}]}

其中

E

i

n

t

=

v

M

T

n

o

n

2

2

{\displaystyle E_{int}=\sum _{v\in M_{T}}\lVert n_{o}-n\rVert _{2}^{2}}

是将最优运输所得顶点法线

n

o

{\displaystyle n_{o}}

与斯涅尔定律计算所得目标法线

n

{\displaystyle n}

对齐,所得的积分能量。

E

d

i

r

=

v

M

T

x

proj

(

x

S

,

d

I

)

(

x

)

2

2

{\displaystyle E_{dir}=\sum _{v\in M_{T}}\lVert x-{\textbf {proj}}_{(x_{S},\,d_{I})}(x)\rVert _{2}^{2}}

:最优传输所得网格无法适应不连续面的尖点,这一项用于惩罚这种点,使其不会随入射光发生显著变化。

E

f

l

u

x

=

t

M

T

Φ

T

(

t

)

Φ

S

(

t

s

)

2

2

{\displaystyle E_{flux}=\sum _{t\in M_{T}}\lVert \Phi _{T}(t)-\Phi _{S}(t_{s})\rVert _{2}^{2}}

是经过网格中三角形

t

{\displaystyle t}

的能量通量。

E

r

e

g

=

L

X

2

2

{\displaystyle E_{reg}=\lVert {\textbf {L}}{\textbf {X}}\rVert _{2}^{2}}

是使三角形形状规则化、保持形状良好的能量。

E

b

a

r

=

v

M

T

m

a

x

(

0

,

l

o

g

(

(

1

n

R

.

(

x

x

R

)

)

+

d

T

H

)

2

{\displaystyle E_{bar}=\sum _{v\in M_{T}}\lVert max(0,-log((1-n_{R}.(x-x_{R}))+d_{TH})\rVert ^{2}}

是屏障能量,用于确保曲面变形不会超过一定距离的阈值

d

T

H

{\displaystyle d_{TH}}

可变逆渲染焦散图样设计[编辑]

基本原理[编辑]

逆图形学是一种观察图像数据、推断所有可能属性(如三维几何、光照、材料与运动)生成逼真图像的方法。[15]传统计算机图形学中,为使图像具有理想的外观和效果,要赋予图像所有相关属性/特征,这可以说是前向方法;而在焦散设计中,物体(尤其材料表面)的性质并不平凡。给定约束条件就是要获得的目标图像。因此,目标是通过观察、推断目标图像,以获得其性质。这可以视作反向方法。

下面是基本损失函数,解释了如何优化参数:

L

(

c

)

=

f

(

c

)

I

2

{\displaystyle L(c)=\lVert f(c)-I\rVert ^{2}}

其中

L

(

c

)

{\displaystyle L(c)}

:损失函数,渲染图像与目标的均方误差

c:包含可能影响生成图像的元素

I:目标图像

管线设计[编辑]

可变逆渲染焦散设计

首先,设计目标图案并计算前向传递,得到合成图样。然后与目标图案比较,得到损失。

这是让合成图案尽可能与目标图案相似。然后进行反向传播,以获得焦散制造中所需的优化属性。

生成图像的元素[编辑]

外观(Appearance,

A

{\displaystyle A}

):像素表面外观建模为MipMap纹理与像素亮度之积。

几何(Vertices,

V

{\displaystyle V}

):假定三维场景由三角形近似,参数为顶点

V

{\displaystyle V}

摄像机(Camera,

C

{\displaystyle C}

):焦距、视点、摄像机中心。

还可以有更多元素,如反照率、折射率之类。

一般可变框架[编辑]

引入U为中间变量,表示2维投影的顶点坐标。这些属性的梯度可从链式法则推导出:

f

V

=

f

U

×

U

V

{\displaystyle {\frac {\partial f}{\partial V}}={\frac {\partial f}{\partial U}}\times {\frac {\partial U}{\partial V}}}

f

V

=

f

A

×

A

V

{\displaystyle {\frac {\partial f}{\partial V}}={\frac {\partial f}{\partial A}}\times {\frac {\partial A}{\partial V}}}

f

C

=

f

U

×

U

C

{\displaystyle {\frac {\partial f}{\partial C}}={\frac {\partial f}{\partial U}}\times {\frac {\partial U}{\partial C}}}

应用随机梯度下降后,可得最优的

A

,

V

,

C

{\displaystyle A,\ V,\ C}

。随后,这些量将用于雕刻或铣削材料,以生成目标图案。

方法[编辑]

一种常见方法是利用各种深度学习自动微分框架/库(如TensorFlow、PyTorch、Theano)中执行微分运算的能力。

还有一种方法是用OpenDR[16]框架建立前向图形模型,并自动获取模型参数的导数,以进行优化。在获得优化属性后,就可以生成目标图像。OpenDR提供的局部优化方法可纳入概率编程框架,可以解决焦散问题。

制造[编辑]

设计与制造过程

计算设计出焦散图样后,处理过的数据将用作机械加工。

根据所需质量、制造所需工作量和可用的制造方法,可以用各种材料。

常见折射材料:亚克力、聚碳酸酯、聚乙烯、玻璃、钻石

常见反射材料:钢、铁、铝、金、银、钛、镍

Architecture

焦散图样设计有很多应用,如

灯具

珠宝

建筑

装饰玻璃生产

另见[编辑]

焦点

模糊圈

焦散 (数学)

参考文献[编辑]

^ Lynch, DK; Livingston, W. The caustic network. Color and Light in Nature. Cambridge University Press. 2001. ISBN 978-0-521-77504-5.

^ 2.0 2.1 Weinstein, Lev Albertovich. Open Resonators and Open Waveguides. Boulder, Colorado: The Golem Press. 1969.

^ Circle Catacaustic (页面存档备份,存于互联网档案馆). Wolfram MathWorld. Retrieved 2009-07-17.

^ Levi, Mark. Focusing on Nephroids. SIAM News. 2018-04-02 [2018-06-01]. (原始内容存档于2023-06-27).

^ Rainbow caustics. [2024-01-09]. (原始内容存档于2013-04-19).

^ Caustic fringes. [2024-01-09]. (原始内容存档于2012-06-12).

^ 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).

^ Caustics water texturing using Unity 3D. Dual Heights Software. [2017-05-28]. (原始内容存档于2023-10-13).

^ 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 (页面存档备份,存于互联网档案馆))

^ Villani, Cedric. Optimal Transport - Old and New. Springer-Verlag Berlin Heidelberg. 2009. ISBN 978-3-540-71049-3.

^ Philip Ball. Light tamers. New Scientist. 2013-02, 217 (2902): 40–43. Bibcode:2013NewSc.217...40B. doi:10.1016/S0262-4079(13)60310-3.

^ Choreographing light: New algorithm controls light patterns called 'caustics', organizes them into coherent images. [2024-01-09]. (原始内容存档于2023-07-17).

^ 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).

^ Cédric, Villani. Optimal Transport, Old and New. Springer. 2009. ISBN 978-3-540-71050-9.

^ 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

^ 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

Born, Max; Wolf, Emil. Principles of Optics: Electromagnetic Theory of Propagation, Interference and Diffraction of Light 7th. Cambridge University Press. 1999. ISBN 978-0-521-64222-4.

Nye, John. Natural Focusing and Fine Structure of Light: Caustics and Wave Dislocations. CRC Press. 1999. ISBN 978-0-7503-0610-2.

阅读更多[编辑]

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.

相关阅读

回顾:1974年第十届世界杯
best365官网登录下载

回顾:1974年第十届世界杯

📅 07-04 👁️ 2741
LOL男爵领域和哪个区合并了?2024大区合并表分享
best365官网登录下载

LOL男爵领域和哪个区合并了?2024大区合并表分享

📅 07-16 👁️ 9063
荣盛花语书苑优缺点有哪些,怎么样?
365BT游戏大厅官网

荣盛花语书苑优缺点有哪些,怎么样?

📅 06-30 👁️ 8503